bash - 如何使用 grep 在当前目录中搜索具有给定字符串的所有文件,然后将这些文件移动到新文件夹中?

标签 bash unix grep

我已经设法单独使用

grep  -r "zone 19" path

mkdir zone19
find . -name "ListOfFilesfromGrep"  -exec mv -i {}  zone19 \;

我只是不知道如何将两者结合起来,即如何将我从 grep 获得的文件列表输入到 find 命令中。

最佳答案

您应该在 find 中使用 grep:

find /path/to/dir -type f -exec grep -q "zone 19" {} \; -exec mv -i {} zone19 \;

关于bash - 如何使用 grep 在当前目录中搜索具有给定字符串的所有文件,然后将这些文件移动到新文件夹中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35174606/

相关文章:

重定向 stdio 时 Linux BASH 内存泄漏

bash - 在bash的while循环中选择性地附加一个字符串常量

bash - 从列剪切到行尾

regex - 我怎样才能匹配所有没有用所需的 LaTeX 标记标记的短语?

bash - 如何使用 Bash 回显包含匹配文件的目录?

linux - grep 在文本文件中查找特定结果 |常用表达?

arrays - 将多个数组作为参数传递给 Bash 脚本?

python - 重定向到 Python 程序到终端和文件

c - 如果 close(2) 因 EIO 而失败,文件描述符是否仍会被删除?

bash - 将 grep 重定向到搜索目录中的文件会导致无限递归