红联Linux门户
Linux帮助

linux批量重命名之xargs

发布时间:2015-09-07 22:16:47来源:linux网站作者:wlwchina

最近处理数据,常常需要对某个文件夹下的所有文件进行重命名,例如所有xxx重命名为xxx.txt

所以写了个shell脚本,用for循环来完成

今天无意中看到一个Linux命令非常适合完成该任务——xargs:

ls | xargs -t -i mv {} {}.txt

-i 选项告诉 xargs 用每项的名称替换 {}。-t 选项指示 xargs 先打印命令,然后再执行。
非常简单。

然后发现xrags真的是一个非常有用的命令,它的主要功能是将上一个命令的输出,作为下一个命令的输入参数,和用for循环逐个运行是一样的效果,但是更简单,效率也会更高。


例如:
删除文件夹下所有空文件:

find . -name "*" -type f -size 0c | xargs -n 1 rm -f 

下载文本里面的所有链接:

cat url-list.txt | xargs wget –c

批量压缩:

find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz

逐个编辑文件:

file * | xargs vi


Linux基础教程:find与xargs:http://www.linuxdiyf.com/linux/10634.html

如何在Linux里使用xargs命令:http://www.linuxdiyf.com/linux/3879.html

AIX中find命令和xargs命令介绍:http://www.linuxdiyf.com/linux/1411.html