Как переместить и сгруппировать текстовые файлы на основе их содержания?

Предположите, что у меня есть 100 текстовых файлов в Папке X., 30-40 текстовых файлов содержат слово "Cookies".

Я хочу скопировать все те текстовые файлы в Папку Y, который имеет слово "Cookies" в ней.

Который является быстрым и эффективным способом сделать это использование cli?

0
задан 12 May 2017 в 22:16

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
1
ответ дан 3 November 2019 в 06:32

Другие вопросы по тегам:

Похожие вопросы: