This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
потоковый_редактор_sed [2011/02/25 11:08] val |
— (current) | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Потоковый редактор sed ====== | ||
| - | ===== Шаблон ===== | ||
| - | sed команды_редактирования [имя_файла] | ||
| - | <code> | ||
| - | $ sed '' /etc/passwd | ||
| - | $ sed -n '' /etc/passwd | ||
| - | </code> | ||
| - | ===== Команда редактирования -- p -- печать текста ===== | ||
| - | <code> | ||
| - | $ sed -n '1p' /etc/passwd | ||
| - | |||
| - | $ sed -n -e '20,$p' /etc/passwd | ||
| - | </code> | ||
| - | |||
| - | ===== Команда редактирования -- a -- вставка после и -- i -- перед строкой ===== | ||
| - | <code> | ||
| - | who | sed '1i\ | ||
| - | Name Tty Date | ||
| - | ' | ||
| - | |||
| - | $ who | sed '/root/a\ | ||
| - | SUPER USER | ||
| - | ' | ||
| - | </code> | ||
| - | ===== Команда редактирования -- c -- замена строк ===== | ||
| - | <code> | ||
| - | $ cat /etc/defaults/rc.conf | sed '/^#/c\ | ||
| - | # COMMENT | ||
| - | ' | ||
| - | </code> | ||
| - | ===== Команда редактирования -- d -- удаление текста ===== | ||
| - | <code> | ||
| - | $ sed '2,$d' /etc/passwd | ||
| - | |||
| - | $ sed -e '/^$/d' -e '/^#/d' /etc/squid/squid.conf | ||
| - | </code> | ||
| - | |||
| - | ===== Команда редактирования -- s -- замена элементов текста ===== | ||
| - | <code> | ||
| - | $ 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 | ||
| - | </code> | ||
| - | ===== Аргумент -- i – непосредственное редактирование файла ===== | ||
| - | <code> | ||
| - | $ cp /etc/passwd ~ | ||
| - | $ cd | ||
| - | $ sed –i .bak -E 's/(r.*t)/\1SUPERUSER/g' passwd | ||
| - | </code> | ||