копировать файлы в другой каталог с определенной фразой в нем

У меня есть огромный каталог с лог-файлами, и я хочу переместить файлы с определенной «фразой» в нем.

то есть. log1.csv ------, содержащий слово "xzy" log2.csv ------, содержащий слово "abc" log3.csv ------, содержащий слово "xzy" .. log1000.csv --- --- содержащий слово "123"

Теперь я хочу переместить (или скопировать) все * .csv С "xyz" в нем в новый каталог

Regaards, ET

2
задан 3 November 2019 в 13:43

1 ответ

find и grep:

find /dir/ -type f -name 'log*.csv' -exec grep -q 'xyz' {} \; -exec mv -t /target/ {} \;
  • find /dir/ -type f -name 'log*.csv' находит все log<anything>.csv файлы в каталоге /dir

  • -exec grep -q 'xyz' {} \; выполнения grep на каждом найденном файле для соответствия для шаблона Regex xyz

  • -exec mv -t /target/ {} \; перемещает подобранные файлы (на основе статуса выхода grep; успех (0) подобранные средства) от предыдущего шага в целевой каталог /target

3
ответ дан 4 November 2019 в 02:09

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

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