Инструменты пользователя

Инструменты сайта


регулярные_выражения._скрипты_для_sed_и_awk

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
регулярные_выражения._скрипты_для_sed_и_awk [2013/06/21 14:32]
46.231.215.230
регулярные_выражения._скрипты_для_sed_и_awk [2014/01/29 23:11] (текущий)
Строка 139: Строка 139:
  
 BEGIN{ BEGIN{
-print "Пользователь \tДомашний каталог \t Интерпритатор" +print "Пользователь \tДомашний каталог \t Интерпритатор"FS=":"
-FS=":"+
 print "---------------------------------------------------" print "---------------------------------------------------"
  
Строка 148: Строка 147:
  
 END {print "---------------------------------------------------"} END {print "---------------------------------------------------"}
 +
 +
 +
 +SED
 +
 +
 +sed (от англ. Stream EDitor) — потоковый текстовый редактор (а также язык программирования), применяющий различные предопределённые текстовые преобразования к последовательному потоку текстовых данных.
 +
 +Инструкции sed 
 +
 +a - append - добавить 
 +
 +с- change - изменить 
 +
 +d - delete - удалить 
 +
 +i - insert - вставить
 +
 +n - next - следующаяя строка со следующей инструкцией 
 +
 +p - print - вывести 
 +
 +q - quit - завершить 
 +
 +r(файл) - добавление содержимого файла к выбранной строке
 +
 +
 +s - substitute - подставить. 
 +
 +флаги 
 +
 +g - global - глобальный режим (все значения)
 +
 +p - print - вывести измененные строки 
 +
 +w - write - записывать в файл.
 +
 +
 +
 +Примеры 
 +
 +Задвоение выбранных строк 
 +
 +sed '/ford/ p' cars.txt 
 +
 +вывод только измененных строк 
 +
 +sed -n  '/ford/ p' cars.txt
 +
 +вывод по номерам строк 
 +
 +sed -n '5,6 p' cars.txt 
 +
 +Вывод первых пяти строк 
 +
 +sed  '5 q' cars.txt
 +
 +
 +Использование файла программы.
 +
 +Создадим файл print_56
 +c содержимым.
 +
 +5,6 p
 + 
 +sed -n -f print56 cars.txt 
 +
 +
 +
 +Добавление текста к строкам
 +
 +sed  '2 a\ +++++' cars.txt 
 +
 +sed  '2 i\ +++++' cars.txt 
 +
 +
 +Замена строк 
 +файл 
 +сhange_test
 + 
 +''
 +2,4 c  \                \\
 +++++++++++++++++++\      \\
 +------------------\       \\
 +******************.        \\
 +''
 +
 +sed -f сhange_test cars.txt
 +
 +подставка.
 +
 +файл 
 +subs_demo
 +
 +s/ford/FORD/ 
 +
 +sed -f subs_demo cars.txt
 +
 +Запись измененных строк в файл
 +
 +subs_demo2
 +
 +s/ford/FORD/w temp
 +
 +Запись диапазона строк в другой файл. 
 +
 +файл write_demo
 +
 +2,4 w temp2
 +
 +запись всех строк кроме выбранных
 +
 +
 +2,4 !w temp2
 +
 +Инструкция (n следующий.)
 +
 +файл next_demo
 +
 +3 n 
 +
 +p
 +
 +n для шаблона 
 + 
 +next_demo2 
 +
 +/ford/ n
 +
 +p                                   
 +
 +Несколько действий 
 +файл action 
 +
 +''1,3 s/ford/FORD/ \\
 +2,4 s/volvo/VOLVO \\
 +3 d'' 
 +
 +Добавление строк
 +файл app_demo
 +
 +''
 +2 a\       \\
 ++++++++++++\  \\ 
 +-----------   \\
 +3 p
 +''
 +
 +Как получть из лога ftpd айпишники злодеев-брутфорсеров:
 +
 +cat p.log | grep failed |cut -f1 -d")" |cut -f2 -d"@" |sort| uniq
 +
 +cat p.log -- берем лог
 +
 +grep failed -- берем из лога строки содержащие слово failed
 +
 +cut -f1 -d")" -- режем все что после ")"
 +
 +cut -f2 -d"@" -- режем все что до "@", остаются айпишники
 +
 +sort| uniq -- избавляемся от повторов
 +
  
  
регулярные_выражения._скрипты_для_sed_и_awk.1371825129.txt.gz · Последнее изменение: 2013/06/21 18:32 (внешнее изменение)

DokuWiki Appliance - Powered by TurnKey Linux