Я запускаю эту команду, чтобы найти и заменить все вхождения «яблоко» на «апельсин» во всех файлах в корне моего сайта:
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
С тех пор существуют также macOS люди, читающие этого (как я сделал), следующий код работал на меня (на 10,14)
egrep -rl '<pattern>' <dir> | xargs -I@ sed -i '' 's/<arg1>/<arg2>/g' @
, Все другие ответы с помощью -i
и -e
не работают над macOS.