Замена текста в файлах Linux - Об ОС *Nix - Системное администрирование - Каталог статей - Архив документации и мануалов для админов

Четверг, 08.12.2016, 13:53
Приветствую Вас Гость | RSS
Мой сайт
Главная
Регистрация
Вход
Форма входа

Меню сайта

Категории раздела
Об ОС Windows [137]
В категории размещаются статьи, касающщиеся операционных систем от Microsoft.
Об ОС *Nix [198]
В данной категории собраны статьи об ОС семейства Unix/Linux/FreeBSD/...
Справочные материалы [351]
Справка по всему разделу.
Виртуализация и Облака [46]
Networks & Routing [86]
DataBases [22]

Наш опрос
Оцените мой сайт
Всего ответов: 193

Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0

Главная » Статьи » Системное администрирование » Об ОС *Nix

Замена текста в файлах Linux

Замена текста в файлах


Сложность: средняя
Приложение: find/Perl 

Если надо заменить текст не в одном файле, то есть несколько способов. Для того, чтобы заменить текст «Windows» на «Linux» во всех файлах в текущей директории, название которой начинается с «test», введите в консоли:
perl -i -pe 's/Windows/Linux/;' test*

Чтобы провести ту же операцию во всех поддиректориях:
find. -name '*.txt' -print | xargs perl -pi -e's/Windows/Linux/ig' *.txt

Или вы хотите сделать то же самое для на обычных файлов со множеством переносов строк и странных символов (файл — в другой кодировке):
find -type f -name '*.txt' -print0 | xargs --null perl -pi -e 's/Windows/Linux/'

Сохраните немало времени и получите статус гуру Линкуса.

OR

grep -lr -e 'было' . | xargs sed -i 's/было/стало/g'




Источник: http://habrahabr.ru/post/55121/
Категория: Об ОС *Nix | Добавил: admin (27.01.2013)
Просмотров: 960 | Комментарии: 1 | Теги: grep, sed, Perl, Find | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz


  • Copyright MyCorp © 2016