Знайти та замінити текст може бути простим завданням за допомогою текстові редактори більш базовий. Але що відбувається, коли вам потрібно виконати те саме завдання в декількох файлах одночасно?
Ну, там все ускладнюється ... або не дуже. |
У наступному прикладі ми будемо використовувати sed, щоб замінити всі входження слова "mongo" на слово "aurelio" у всіх файлах із розширенням .txt і що знаходяться в папці / home / user / myfolder /.
find / home / user / myfolder / -name * .txt -exec sed -i "s / mongo / aurelio / g" {} \;
Це просто ...
Перед закінченням варто згадати, що деякі текстові редактори дозволяють виконувати цю операцію за допомогою графічного інтерфейсу. Серед інших варто виділити Jedit, Geany, Regexxer тощо.
супер
Я використовую Gedit
gedit для декількох файлів ??? як ???
Як я міг поставити grep між ai?
Що мені потрібно, це зробити наступне, шукати всередині будинку всі файли, які називаються index.html і містять слово "XXXXXXX", і замінити його на "YYYYYYYYYY", як це можна було зробити, щоб він здійснював пошук лише в файли, які насправді мають рядок?
Дуже дякую !
Я теж використовую Gedit, але велике спасибі
Вам бракує аргументу для exec. Правильним кодом буде:
find / home / username / myfolder / -name * .txt -exec sed -i "s / mongo / aurelio / g" {} \;
Вітаю 😀
Ти правий! Дякую!
Я це вже виправив. : =)
Я щойно спробував це (як ROOT):
знайти / usr / share / icons / ACYL-Allgray / -name * .svg -exec sed -i "s / 666666/000000 / g" {} \;
щоб змінити колір усього набору піктограм. Правда в тому, що це дуже потужна команда, зазвичай це завдання забирало б у мене годин редагування файлів за файлами.
Вставте текст у декілька файлів відповідно до номера рядка, в моєму випадку рядок 2 (2i), у centos linux
знайти / домашню // public_html / res / -name -exec sed -i "2i \;" {} \;
вийшов не весь код, тому я повторно надіслав:
find / home / user / public_html / res / -name filename.ext -exec sed -i "2i \ текст для вставки" {} \;