find ./ -type f -name "somefile.txt" -exec sed -i -e 's/foo/bar/g' {} \;
Команда find ./ -type f -name "somefile.txt" -exec sed -i -e 's/foo/bar/g' {} \;
выполняет рекурсивный поиск файлов с именем «somefile.txt» в текущем каталоге и его подкаталогах. Для каждого найденного файла она использует sed
для замены всех вхождений «foo» на «bar» и сохраняет изменения непосредственно в файлах. Аргументы: ./
— текущий каталог, -type f
— только файлы, -name "somefile.txt"
— файлы с указанным именем. Альтернативы: можно использовать другие инструменты для замены текста, такие как awk
или perl
.