Поиск и замена текста в нескольких файлах
Чтобы заменить foo на bar в нескольких файлах, выполните следующую команду:
perl -pi~ -e 's/foo/bar/' [files]
Оригинальные файлы при этом будут сохраны с именами filename~
- 13979 просмотров
Страница для печати


ну и где ж тут полезные советы? тупой сайт, и мноооооооого безмозглых умников
Ж:-D Анонимно пришло, публично высралось, чувством победителя удалилось. Вот уж показатель интеллекта да
думаю стоит прибить это сообщение и всю ветку вместе с ним. нафиг тут эти высказывания тролей.
А ещё есть неплохая графическая утилита, чтобы контролировать процесс замены - regexxer.
линка в тему
http://wooledge.org:8000/BashFAQ#head-fce0b488008648d5f40764d90494d6eac0ab6598
--
Signature invent in progress 24% ##........
а зачем сложности:
sed -i 's/foo/bar/' [files]если как на примере на перле то
sed -i~ 's/foo/bar/' [files]
но для полного счастья, что бы заменяла не только одно вхождение в одной строке то
sed -i~ 's/foo/bar/g' [files]
ps
и вообще некоторые grep-пом заменять умеют вроде Ж:-)
--
Signature invent in progress 22% #.........
с sed ом я так до конца и не подружился пока еще.. перл как-то роднее ;)
благодарю за insights :)
но /g в конце все же поставь, а то будет неприятный сюрприз со строкой типа
foo foo foo
--
Signature invent in progress 22% #.........
да я уже все, спасибо ;) команду использовал в следующем плане:
perl -pi~ -e "s/ \'\'/ \`\`/" ~/thesis/*.texкавычки не те поставил во всем тексте... вот и пришлось заменять, корректируя одно из замечаний ;)
Извините за нубквесчены такие, но хочется спросить как вставить переход на следующую строку?
Спасибо.
\n - переход на следующую строчку
если в файле DOS переводы строк то \r\n
Отправить комментарий