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' будет лучше, хотя и не идеально.