grep --files-with-matches '>' .
Найдите >
в текущем каталоге (.
) И напечатайте только имена файлов соответствующих файлов (--files-with-matches
).
Обратите внимание , что grep
ничего не вернется , если вы даете ему каталог .
, Но забудьте включить "рекурсивный" режим. Правильная команда будет
grep --files-with-matches --recursive '>' .
или просто
grep -Rl '>' .
| sort
| uniq
Сортируйте результаты и удаляйте дубликаты.
| xargs perl -pi~ -e 's/9Kp/9K /' /home/user/DATAFILE.DAT
Запустите данную команду (perl ...
), передав каждое слово 1 из stdin в качестве дополнительных аргументов.
Каждый файл из результатов grep
, а также файл /home/user/DATAFILE.DAT
обновляются путем замены текста « 9Kp
» на « 9K
». Старые файлы сохраняются с тильдой.
1 Примечание: слово, а не строка. Это означает, что имя файла с пробелами будет рассматриваться как несколько имен. xargs -d'\n'
будет лучше, хотя и не идеально.