User Tools

Site Tools


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

This is an old revision of the document!


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

Шаблон

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

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

Команда редактирования -- p -- печать текста

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

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

Команда редактирования -- a -- вставка после и -- i -- перед строкой

who | sed '1i\
Name     Tty          Date
'

$ who | sed '/root/a\
SUPER USER
'

Команда редактирования -- c -- замена строк

$ cat /etc/defaults/rc.conf | sed '/^#/c\
# COMMENT
'

Команда редактирования -- d -- удаление текста

$ sed '2,$d' /etc/passwd

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

Команда редактирования -- s -- замена элементов текста

$ sed 's/root/SUPERUSER/' /etc/passwd
# $FreeBSD: src/etc/master.passwd,v 1.39 2004/08/01 21:33:47 markm Exp $
#
SUPERUSER:*:0:0:Charlie &:/root:/bin/csh
toor:*:0:0:Bourne-again Superuser:/SUPERUSER:
...

$ sed 's/root/SUPERUSER/g' /etc/passwd
# $FreeBSD: src/etc/master.passwd,v 1.39 2004/08/01 21:33:47 markm Exp $
#
SUPERUSER:*:0:0:Charlie &:/SUPERUSER:/bin/csh
toor:*:0:0:Bourne-again Superuser:/SUPERUSER:

$ sed -E '/(^$)|(^#)/d' /etc/defaults/rc.conf

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

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

$ cp /etc/passwd ~
$ cd
$ sed –i .bak -E 's/(r.*t)/\1SUPERUSER/g' passwd
потоковый_редактор_sed.1298621306.txt.gz · Last modified: 2013/05/22 13:50 (external edit)