[linux]利用管道 + xargs批量管理文件

管道常用于进程间通信

即上一个进程的stdout作为下一个进程的stdin(直接对接)

在linux中  | 符号即为管道符号,将上一个命令的stdout作为下一个命令的stdin

例:

将当前目录下含有123的文件全部删除(单输入)

ls | grep 123 | xargs rm

将当前目录下含有123的文件全部放入其他文件夹

ls | grep 123 | xargs -t -i mv {} ../file
  将含有关键字的文件打包压缩
find . -type f -name "*.jpg" -print | xargs tar -czvf images.tar.gz
 

其他见

https://www.runoob.com/linux/linux-comm-xargs.html