Linux:以递归方式在子文件夹中搜索包含字符串的文件,然后将其移至另一个文件

时间:2018-10-07 21:50:03

标签: grep

到目前为止,我在终端上有此命令,它什么也没做。 从本质上讲,它是查找包含bango一词的任何文件并将其移动到另一个目录。

grep -r ".*bango.*" /Users/user/Desktop/drums | xargs mv /Users/user/Desktop/bango 

1 个答案:

答案 0 :(得分:0)

Grep具有列出文件名的功能,只有您应使用它来列出文件名。

xargs也可以使用位置参数构建命令。

尝试使用

grep -rlE ".*bango.*" /Users/user/Desktop/drums | xargs -I @ mv @ /Users/user/Desktop/bango

选项-E允许使用正则表达式。

但是,不需要正则表达式,您可以为固定字符串激活快速grep算法:

grep -rlF "bango" /Users/user/Desktop/drums | xargs -I @ mv @ /Users/user/Desktop/bango