Найти и заменить текст может быть простой задачей, используя текстовые редакторы более простой. Но что происходит, когда вам нужно выполнить ту же задачу в нескольких файлах одновременно?
Ну, там все усложняется ... или не очень. |
В следующем примере мы будем использовать sed, чтобы заменить все вхождения слова «mongo» словом «aurelio» во всех файлах с расширением .txt, находящихся в папке / home / user / myfolder /.
найти / 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. Правильный код будет:
найти / 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
найти / home // public_html / res / -name -exec sed -i "2i \;" {} \;
не весь код вышел, поэтому я повторно отправил:
найти / home / user / public_html / res / -name filename.ext -exec sed -i "2i \ text to insert" {} \;