Меню сайта
   Главная   
   Обо мне   
   Статьи   
   Дневник   
   Картинки   
   Файлы   
   Форум   
   Гостевая книга   

Категории раздела
Куклы и игрушки [60]
Личное [116]
Музыка [19]
Общее [304]
Японский язык [12]
ZX Spectrum [70]
Субмарины [98]
Настольные игры [34]
Го (碁) [11]
Книги [16]
Япония [26]
Таро [4]
Запертый шкаф [17]
CSA (КША) [15]
GNU/Linux [134]
Ubuntu [103]
Manjaro Linux [39]
Python [3]
Магнитольное [44]
Commodore64 [14]
Игровые приставки [2]


 
Дневник (2016 » Июнь » 19 в 07:25)
Ubuntu Поиск файлов по содержимому и его замена

Рекурсивный поиск и замена текста в файлах Linux (sed/perl).

Помимо очевидной локальной сферы применения, замены текста1 на текст2 в подмножестве файлов, также это бывает необходимо при редактировании страниц сайта. Если админка сайта или хостинга не имеет такой возможности, это единственный и самый быстрый способ быстро заменить фрагмент кода на всём сайте. 
Достаточно войти по SSH протоколу:
ssh login@111.222.333.444

Введя пароль, и залогинившись в удалённой консоли, можно выполнить подходящий вариант нижеописанных команд:

Поиск regexp в домашней папке, либо, если не указан путь, текущем и подкаталогах:

grep -rl 'regexp' ~

Поиск в текущем каталоге и его подкаталогах слова "regexp" и замена его на "new_replacement"
find . -type f -name '*.py' -exec sed -i -r 's/regexp/new_replacement/g' {} \;

find . -name '*.txt' -print | xargs perl -pi -e's/Windows/Linux/ig' *.txt

Для указания слов с пробелами использовать: "\ ", например так: 's/нетпробела/есть\ пробел/g'

Когда критично ручное подтверждение каждой замены, есть хороший GUI инструмент: regexxer.sourceforge.net/ Установка:
sudo aptitude install regexxer

Список использованных ссылок:
  1. http://linux-notes.org/poisk-i-zamena-slov-v-fajlah-linux/
  2. https://toster.ru/q/5396
  3. https://habrahabr.ru/post/55121/ (вообще много консолных решений)
  4. http://www.tuxradar.com/content/linux-tips-every-geek-should-know
  5. https://ru.wikipedia.org/wiki/Регулярные_выражения

Категория: Ubuntu | Просмотров: 667 | Добавил: harushima | Рейтинг: 0.0/0 |
Всего комментариев: 0.
В целях защиты от спама, добавлять комментарии могут только зарегистрированные пользователи. Если Вы не хотите регистрироваться под своим именем, войдите под логином: anonymous, паролем: anonymous.   ( Регистрация,   Вход).
Авторизация
Анонимный вход:
anonymous / anonymous
Логин:
Пароль:

Календарь
«  Июнь 2016  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
27282930

Поиск

Облако тэгов
JGSDF игрушки Брюнетки Кладбище сайты Ярость Дракулы Древний Египет девушки кошки Cthulhu Вампиры Kitsune Ужас Аркхема инструмент комиксы Lovecraft готика Submarine submarine rc toy Hosting игротека Ужас Аркхэма book uboat мобильная связь го Edgar Poe swf Mansions of Madness Nightmares персоны Synergy linux-hardware bash youtube Storages Python Мастер-рукожоп Магнитофоны Entropy Grub2 loglevel WiFi Beeline ОПСОСЫ sharp939 Аудиокассеты Windows linuxwork Хочуны ImageMagick топБарыг C64c Commodore

Статистика
Яндекс.Метрика
Онлайн всего: 2
Гостей: 1
Пользователей: 1
harushima

Page QR code


Перепечатка материалов сайта без активной ссылки запрещена. Следить за RSS
(c) hermitlair.ucoz.com 2009-2024
Лучший браузер!
Блокировка рекламы