Найти и заменить на sed в каталоге и подкаталогах

Я запускаю эту команду, чтобы найти и заменить все вхождения «яблоко» на «апельсин» во всех файлах в корне моего сайта:

find ./ -exec sed -i 's/apple/orange/g' {} \;

Но это не проходит через подкаталоги.

Что не так с этой командой?

Вот несколько строк вывода find ./ :

./index.php
./header.php
./fpd
./fpd/font
./fpd/font/desktop.ini
./fpd/font/courier.php
./fpd/font/symbol.php
224
задан Zoe 9 March 2019 в 05:51
поделиться

1 ответ

С тех пор существуют также macOS люди, читающие этого (как я сделал), следующий код работал на меня (на 10,14)

egrep -rl '<pattern>' <dir> | xargs -I@ sed -i '' 's/<arg1>/<arg2>/g' @

, Все другие ответы с помощью -i и -e не работают над macOS.

Источник

0
ответ дан 23 November 2019 в 03:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: