====== Команды поиска текста в файле ====== ===== grep - поиск текста в документе ===== Циклический поиск строки "VirtualHost" в указанном каталоге, найденная строка выделяется цветом в выводе, строки в выводе нумеруются. # grep --color -Rn VirtualHost /usr/local/etc/apache22/ Дополнительные параметры: * -h - не выводить имена файлов в выводе; * -i - не чувствительный к регистру поиск; * -v - для отображения всех строк, которые не содержат строку поиска. Также, поискать текст в файлах можно так: # find /usr/local/etc/apache22/ -exec grep -H "VirtualHost" '{}' \; -print ===== strings - поиск текста в бинарных файлах ===== Позволяет извлечь из бинарных файлов текст ASCII. # strings /bin/ls | grep -i libc libc.so.6 __libc_start_main GLIBC_2.2.5 GLIBC_2.4 GLIBC_2.3 GLIBC_2.3.4 Или так - для извлечения всех текстов ASCII: cat /bin/ls | strings strings /bin/ls ===== Замена текста с помощью sed ===== Предположим, мы хотим заменить в текстовом файле одну строку на другую: cat db.kitebaza.ru | sed s/kitebaza/kitetestcenter/ > db.kitetestcenter.ru В итоговом файле получим что хотели, однако, только одно вхождение каждого слова в строке будет заменено. Т.е. если в строке встречаются два слова, подлежащих замене, только одно из них будет заменено (то слово, что в начале). Чтобы все слова были заменены, добавьте ключ **g**: cat db.kitebaza.ru | sed s/kitebaza/kitetestcenter/g > db.kitetestcenter.ru ===== Замена текста с помощью Perl ===== Замена с созданием резервной копии исходного файла с расширением bak: $perl -i.bak -pe 's/\bPHP\b/Perl/g' file.txt ~~DISCUSSION:closed~~