После bash-hackers wiki's recommendation, я хочу редактировать файлы с помощью ed.Использование ed для управления файлами, которые соответствуют
В частности, я хочу сделать следующее с изд вместо СЭД:
find . -type f -exec sed -i -e 's/a/b/g' {} \;
Я вижу, что редактор не имеет неавтоматического, как СЕПГ -e, так что, насколько я знаю, трубы и Ио переназначения являются единственным способом работать с ним не интерактивно.
Таким образом, используя ред от Баш скрипт, чтобы сделать то же самое, как выше SED команды будет выглядеть следующим образом:
ed file_name <<<$'g/a/s//b/g\nw'
Или
echo $'g/a/s//b/g\nw' | ed file_name
Но, насколько я знаю, что это невозможно задействовать каналы или io перенаправления в find -exec.
Пропустить что-нибудь? или это единственный способ преодолеть это - использовать циклы?
for file in $(find . -type f -print); do ed $file <<<$'g/a/s//b/g\nw'; done;
См. Ссылку, о которой я упомянул, и ответ Гейрхи. – theosp