AWK примеры, фильтрация IP адреса из файла

awk split grep

Функция splitsplit s,M,c

s - строка, M - массив, c - разделитель

Пример:

awk '{ i = split$0, RID, ",";

for j=1; j\<=i; j\+\+

print "RID\["j"\]=" RID\[j\]

}' input_file

Кусок скрипта фильтрующий строки содержащие только ip адрес, скрипт сортирует ip адреса и удаляет дубли

cat /etc/hosts | grep "^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*" | sort | uniq
Упрощенный вариант (не всегда правильно отработает) с выделением 1-го поля (собственно IP-адрес)
cat /etc/hosts | grep "^[0-9]" | cut -f1

Пример, как изменить права только на каталоги в текущей директории aizaro sample \#1

chmod 775 `ls -l | grep drw | awk '{print $9}'`

Вывод двух основных колонок списка пакетов linux, полученных командой 'dpkg -l' aizaro sample \#2

cat store-soft.txt | awk '{FS=" "; print 2,"|",5" "6" "7" "9" "10" "11" "12}' > store-soft2.txt

Здесь разделителем полей исходного файла является пробел конкатенация параметров поля Description c 5\-го по 12\-е.

Выходной разделитель: "|"