find命令进阶(三):xargs

The xargs command performs an interesting function. It accepts input from standard input and converts it into an argument list for a specified command.

xargs的作用是:接收 input,转换成 argument list(一列参数),由命令分别执行。例如:

find ~ -type f -name 'foo*' -print | xargs ls -l
-rwxr-xr-x 1 me   me 224 2007-10-29 18:44 /home/me/bin/foo
-rw-r--r-- 1 me   me   0 2008-09-19 12:53 /home/me/foo.txt

问题:文件名中带有空格时怎么办?
在 Linux 系统中文件名属于带有空格。但是,遇到像xargs这样的命令时,空格会被当作界定符(delimiter),空格前后部分被认作是分开的参数。为了能够准确查找到文件名中带有空格的文件,可以加入--null参数:

find ~ -iname '*.jpg' -print0 | xargs --null ls -l

很简单的。

posted @ 2017-05-29 20:00  2021年的顺遂平安君  阅读(51)  评论(0编辑  收藏  举报