Как изменить все файлы, содержащие xxxxx, на yyyyyy

grep -r -l xxxxx . | xargs perl -i -pe "s/xxxxx/yyyyy/g"


Команда grep -r -l xxxxx . | xargs perl -i -pe «s/xxxxx/yyyyy/g» позволяет изменить все файлы, содержащие строку «xxxxx», на строку «yyyyy».

Команда grep -r -l xxxxx . выполняет поиск файлов в текущем каталоге и его подкаталогах, в которых присутствует строка «xxxxx». Опция -r указывает на рекурсивный поиск, а -l на вывод только имен файлов, в которых найдена искомая строка.

Результат поиска передаётся в команду xargs, которая используется для передачи вывода одной команды в качестве аргументов другой команды. В данном случае, найденные файлы передаются в команду perl.

Команда perl -i -pe «s/xxxxx/yyyyy/g» изменяет содержимое переданных файлов, заменяя все вхождения строки «xxxxx» на строку «yyyyy». Опция -i позволяет изменять файлы в их месте, а -pe позволяет применить выражение к каждой строке файла.

Альтернативой данной команды может быть использование команды sed с похожими параметрами. Например: sed -i ‘s/xxxxx/yyyyy/g’ filename.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *