User Tools

Site Tools


потоковый_редактор_sed

This is an old revision of the document!


Потоковый редактор sed

Формат команды

sed команды_редактирования [имя_файла]

$ cp /etc/squid/squid.conf .
$ cp /etc/passwd .

$ sed '' /etc/passwd
$ sed -n '' /etc/passwd

Команда "p" - печать текста

$ sed -n '1p' passwd

$ sed -n -e '20,$p' passwd

Команда "a" вставка после, "i перед строкой и размещение команд редактирования в файле

who | sed '1i\
Name     Tty          Date
'

$ who | sed '$a\
Name     Tty          Date
'

$ cat ex.sed
$a\
Name     Tty          Date
$ who | sed -f ex.sed

Команда редактирования "c" - замена строк и использование шаблона для выбора редактируемых строк

$ cat squid.conf | sed '/^#/c\
# COMMENT
'

Команда редактирования "d" - удаление строк, использование логических операторов и расширенных регулярных выражений

$ sed '2,$d' passwd

$ sed -e '/^$/d' -e '/^#/d' squid.conf

$ sed -e '/^$\|^#/d' squid.conf

$ sed -E -e '/^$|^#/d' squid.conf

Команда редактирования "s" замена элементов текста, использование классов символов и переменных в шаблонах

$ sed 's/root/Administrator/' passwd

$ sed 's/root/Administrator/g' passwd

$ sed -E 's/^u([0123456789]+)/user\1/' passwd
или
$ sed -E 's/^u([[:digit:]]+)/user\1/' passwd

Аргумент "i" - непосредственное редактирование файла

$ sed –i .bak -E '/(^$)|(^#)/d' squid.conf
потоковый_редактор_sed.1298623240.txt.gz · Last modified: 2013/05/22 13:50 (external edit)