Как рекурсивно заменить строку в файлах соответствующих строке

find . -type f |xargs -I% sed -i '/group name/s/>/ deleteMissing="true">/' %


Команда «find . -type f |xargs -i% sed -i ‘/group name/s/>/ deletemissing=»true»>/’ %» используется для рекурсивного поиска файлов в текущем каталоге и его подкаталогах, которые содержат строку «/group name» и замены «>» на » deletemissing=»true»>».

Она полезна, когда необходимо автоматически изменить определенные строки в большом количестве файлов.

Альтернативой может быть использование редактора текста, такого как Vim или Sublime Text, чтобы открыть каждый файл вручную и внести нужные изменения. Однако, использование этой команды может значительно сэкономить время и усилия.

Аргументы, передаваемые команде:
— «.» — указывает на текущий каталог;
— «-type f» — ищет только файлы (не каталоги и символические ссылки);
— «|xargs -i%» — передает результаты поиска как аргументы другой команде, заменяя символ «%» найденными файлами;
— «sed -i ‘/group name/s/>/ deletemissing=»true»>/’ %» — выполняет замену найденных строк в каждом файле.

Ответить

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