SED — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
Строка 20: | Строка 20: | ||
Надо в конце строки вставлять символ перевода строки \n. Якорем(метасимволом, квантификатором), обозначающим конец строки, в большинстве диалектов регулярных выражений обычно служит символ $: | Надо в конце строки вставлять символ перевода строки \n. Якорем(метасимволом, квантификатором), обозначающим конец строки, в большинстве диалектов регулярных выражений обычно служит символ $: | ||
tail -f access.log | sed 's/$/\n/' | tail -f access.log | sed 's/$/\n/' | ||
+ | |||
+ | |||
+ | Вывести определённую строку, в данном случае третью: | ||
+ | sed -n 3p |
Версия 15:03, 30 мая 2019
Удалить строчку по шаблону:
sed '/шаблон/d' filename
Заменить в строке ТЕКСТ1 на ТЕКСТ2:
sed 's/текст1/текст2/' filename
В файле есть строчки:
ttyv0 "/usr/libexec/getty Pc"
ttyv1 "/usr/libexec/getty Pc"
...
ttyv8 "/usr/libexec/getty Pc"
Требуется поставить символ # перед всеми ttyv, кроме ttyv0:
sed 's/^ttyv[1-8]/#&/' /etc/ttys
Отслеживаем логи через tail -f. Для удобства отображения хотелось бы после каждой строки добавлять пустую строку.
Надо в конце строки вставлять символ перевода строки \n. Якорем(метасимволом, квантификатором), обозначающим конец строки, в большинстве диалектов регулярных выражений обычно служит символ $:
tail -f access.log | sed 's/$/\n/'
Вывести определённую строку, в данном случае третью:
sed -n 3p