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:43] val |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Потоковый редактор sed ====== | ||
- | ===== Формат команды ===== | ||
- | sed команды_редактирования [имя_файла] | ||
- | |||
- | <code> | ||
- | $ cp /etc/squid/squid.conf . | ||
- | $ cp /etc/passwd . | ||
- | |||
- | $ sed '' passwd | ||
- | $ sed -n '' passwd | ||
- | </code> | ||
- | |||
- | ===== Команда "p" - печать текста ===== | ||
- | <code> | ||
- | $ sed -n '1p' passwd | ||
- | |||
- | $ sed -n -e '20,$p' passwd | ||
- | </code> | ||
- | |||
- | ===== Команда "a" вставка после, "i перед строкой и размещение команд редактирования в файле ===== | ||
- | <code> | ||
- | who | sed '1i\ | ||
- | Name Tty Date | ||
- | ' | ||
- | |||
- | $ who | sed '$a\ | ||
- | Name Tty Date | ||
- | ' | ||
- | |||
- | $ cat ex.sed | ||
- | </code><code> | ||
- | $a\ | ||
- | Name Tty Date | ||
- | </code><code> | ||
- | $ who | sed -f ex.sed | ||
- | </code> | ||
- | ===== Команда редактирования "c" - замена строк и использование шаблона для выбора редактируемых строк ===== | ||
- | <code> | ||
- | $ cat squid.conf | sed '/^#/c\ | ||
- | # COMMENT | ||
- | ' | ||
- | </code> | ||
- | |||
- | ===== Команда редактирования "d" - удаление строк, использование логических операторов и расширенных регулярных выражений ===== | ||
- | <code> | ||
- | $ sed '2,$d' passwd | ||
- | |||
- | $ sed -e '/^$/d' -e '/^#/d' squid.conf | ||
- | |||
- | $ sed -e '/^$\|^#/d' squid.conf | ||
- | |||
- | $ sed -E -e '/^$|^#/d' squid.conf | ||
- | </code> | ||
- | ===== Команда редактирования "s" замена элементов текста, использование классов символов и переменных в шаблонах ===== | ||
- | <code> | ||
- | $ 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 | ||
- | </code> | ||
- | ===== Аргумент "i" - непосредственное редактирование файла ===== | ||
- | <code> | ||
- | $ sed -i.bak -E -e '/^$|^#/d' squid.conf | ||
- | </code> |