Linux 查找并且复制部分文件到其他目录的办法(find xargs {})

最近经常需要从某些文件夹查找部分文件,然后复制到其他目录里面进行进一步的处理

shell 脚本一直在不断的学习中, 最近发现之前看文档还是有疏漏. 

find . -iname "*fi*" -type f |xargs -i scp {} /newpath

这里有一个说明 需要说一下

  加-i 参数直接用 {}就能代替管道之前的标准输出的内容;
  加 -I 参数 需要事先指定替换字符。

其实 xargs 的参数挺好玩的

比如 我想查文件名是否包含内容可以用如下处理

文件名是否包含 zhaobsh

find . -iname "*.json" |grep zhaobsh

如果是文件内容是否包含则可以用

find . -iname "*.json" |xargs grep zhaobsh

还可将 包含某些问题的内容转移到某一个目录

find . -iname "*.json" |xargs grep redis |awk '{print $1}' |cut -d ":" -f 1 |xargs -i scp {} /newpath/
原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/12464899.html