4Debian.Info - Портал русскогоязычного сообщества Debian Карта сайта Контакты

Меню

Репозитории Debian

Скачать Debian

Установка Debian - Видео



Авторизация:

Новые статьи

Статьи в RSS

Новые комментарии

Новые уроки

Уроки в RSS


Вернутся к списку статей

Примеры замены подстроки в файлах на perl, sed, awk

Часто бывает нужно заменить какую то 1 строку в конфигурационном файле из скрипта. Чтобы далеко не ходить можно использовать следующие примеры скриптов.
1. Замена подстроки в одном файле с помощью sed
bash:
  1. $ cat ./file.txt
  2. I have three dogs.
  3.  
  4. $ sed -e 's/dog/cat/g' ./file.txt
  5. I have three cats.

2. Замена подстроки в одном файле с помощью perl (вариант короче, но нужен perl)
perl:
  1. perl -e 's/dog/cat/g' -pi ./filename

3. Замена подстроки в нескольких файлах с помощью простого bash-скрипта
bash:
  1. #!/bin/bash
  2. f="cat"
  3. t="dog"
  4. for i in `egrep -r $f ./www | grep -v svn | cut -d ":" -f1`
  5. do
  6. reg="s/$f/$t/g"
  7. sed -e $reg $i > ${i}.bak
  8. mv ${i}.bak $i
  9. echo $i
  10. done

4. Замена подстроки в нескольких файлах с помощью perl одной командой
perl:
  1. egrep -rl "dog" ./ | xargs -i perl -pi -e 's/dog/cat/g' '{}'

5. Замена подстроки в нескольких файлах с помощью awk одной командой
awk:
  1. awk '{gsub("cat", "dog", $0); print > FILENAME}' ./*

Комментарии: Примеры замены подстроки в файлах на perl, sed, awk

Только авторизованные пользователи могут оставлять комментарии!

Авторизация или Быстрая регистрация



Яндекс.Метрика
4Debian.Info
При полной или частичной перепечатке текстов статей и публикаций гиперссылка на www.4debian.info обязательна. | "4Debian.Info" | © 2017