Инструменты пользователя

Инструменты сайта


doc:os:ubuntu:grep

<html> <!–LiveInternet counter–><script type=«text/javascript»><!– new Image().src = «counter.yadro.ru/hit?r»+ escape(document.referrer)+1)+«;u»+escape(document.URL)+ «;»+Math.random();–></script><!–/LiveInternet–> </html>

Команды поиска текста в файле

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
1)
typeof(screen)==«undefined»)?«»: «;s»+screen.width+«*»+screen.height+«*»+(screen.colorDepth? screen.colorDepth:screen.pixelDepth
/var/www/wiki.itcall.ru/data/pages/doc/os/ubuntu/grep.txt · Последнее изменение: d.m.Y H:i — dbehterev