10.3. xargs与exec

xargs和exec可以实现相同的功能,exec主要是和find一起配合使用,而xargs比exec的用处更多。

10.3.1. xargs应用

$ echo "12312321" > 123.txt

$ ls 123.txt |xargs cat
12312321

find . -mtime +10 | xargs rm

ls *.txt|xargs -n1 -i {} mv {} {}_bak

# xargs -n1 -i{}类似于for循环, -n1表示逐个对象进行处理。-i {}表示用{}取代前面的对象。

10.3.2. exec应用

查找当前目录创建时间大于10天的文件并删除。

$ find . mitime +10 -exec rm -rf {} \;

-exec同样实现批量更改文件名的需求

$ find ./*_bak -exec mv {} {}_bak \;