Поиск каталогов по расширению файла и копирование / перемещение куда-нибудь [закрыто]

0
06.05.2018, 20:00
1 ответ

Сfind:

find. -type f -name '*.out' -exec grep -q 'PATTERN' {} ';' \
    -exec sh -c 'cp "$1" "${1%.out}.gdx" /somewhere' sh {} ';'

В качестве альтернативы:

find. -type f -name '*.out' -exec grep -q 'PATTERN' {} ';' \
    -exec sh -c 'for name do cp "$name" "${name%.out}.gdx" /somewhere; done' sh {} +

Это найдет все файлы в текущей папке или ниже, имена которых заканчиваются на .out. Если файл .outимеет строку, совпадающую с PATTERN, файл .gdxв том же каталоге с тем же префиксом имени, что и файл .out, будет скопирован в /somewhereвместе с файлом .out..

Проверка того, существует ли уже запись каталога под /somewhereс тем же именем, что и у копируемых файлов, или действительно ли изначально существует файл .gdx, не выполняется.

См. также:

0
28.01.2020, 04:23

Теги

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