如何根据文本文件的内容移动和分组文本文件?

如何根据文本文件的内容移动和分组文本文件?

假设我在文件夹 X 中有 100 个文本文件。其中 30-40 个文本文件包含单词“饼干“。

我想将所有这些文本文件复制到包含单词“饼干“ 在里面。

哪种使用 cli 执行此操作快速且有效?

答案1

类似这样的事情会起作用:

grep -l 'Cookies' /Path/to/X/*.txt | xargs -I files mv files /Path/to/Y/
  • grep -l 'Cookies' /Path/to/X/*.txt

    • 将查找所有*.txt包含的文件Cookies,将其更改*为任何文件。
    • -l表示仅打印文件名。
  • xargs -I files mv files /Path/to/Y/

    • 将会把它们移动到你想要的路径。

或者xargs我们也可以改用循环:

grep -l 'Cookies' /Path/to/X/*.txt | while read i; do mv "$i" /path/to/x/; done

相关内容