locate -i nohup.out | xargs -d '\n' -L1 -p rm
Run Code Online (Sandbox Code Playgroud)
locate 输出中的每一行都被 xargs 视为一个参数,所以是-L1
和-n 1
相同的吗?
谢谢。
小智 5
从手册:
-L max-lines
每个命令行最多使用 max-lines 非空白输入行。尾随空白导致输入行在下一个输入行上逻辑上继续。意味着 -x。-n max-args
每个命令行最多使用 max-args 参数。如果超出大小(请参阅 -s 选项),将使用少于 max-args 的参数,除非给出 -x 选项,在这种情况下 xargs 将退出。-d delim
输入项以指定字符结束。[...]
基于这一点和我的理解,在你的情况下-L1
,通过传递-n1
的参数1
和分隔符从空格变为\n
(换行符)由参数变为等效-d
例如,-d
如果没有参数,如果您的 locate 输出中有一个空格,那么这一行将被拆分为两个参数,因此 rm with 有 2 种不同的用法-n1
,而它仍然会被视为一个参数和只有一个命令和-L1