LINUX.ORG.RU

Синтаксис awk

 


0

1

Дайте кто-нибудь ссылку на нормальную шпаргалку по awk, а то использую его часто и уже задолбался гуглить каждый раз.

Также подскажите по двум вопросам

awk '$1!="lost+found" && $1!="proc" && $1!="sys"'

здесь можно как-то упростить регулярное выражение, чтобы строка короче стала?

И допустим мне нужно фильтровать строки, где первый столбец начинается с одинарной кавычки, тут как-то через ascii-код надо, но никак не нагуглю как.

★★★★★

Если тебе нужно формировать строку для awk неудобную для bash, вот как с одинарной кавычкой, то делай отдельный файл-скрипт

$ cat a.awk 
#!/usr/bin/awk -f

/^'/ {
  print $1
}


$ chmod +x a.awk
$ echo "'test 234" | ./a.awk 
'test
futurama ★★★★★
()
Ответ на: комментарий от anonymous

братишка, я тебе quoting hell принёс!

anonymous
()

Я awk сам не пользуюсь, но на grymoire.com по другим темам есть полезные и, главное, рабочие советы и описания. Так что, думаю, можно попробовать

https://www.grymoire.com/Unix/Awk.html

anonymous
()

awk ‘$1!=«lost+found» && $1!=«proc» && $1!=«sys»’

awk ‘$1!=«lost+found»|«proc»|«sys»’

как-то так не прокатит?

Anoxemian ★★★★★
()

Полистай вот эту литературу. За вечер осиливаешь и больше не задаёшь подобные вопросы.

ubik
()

здесь можно как-то упростить регулярное выражение, чтобы строка короче стала?

awk '$1 !~ /^(lost\+found|proc|sys)$/'

первый столбец начинается с одинарной кавычки

В bash можно так (к самому awk это не имеет отношения):

awk $'$1 ~ /^\'/'

Что такое $'...' в bash - см. man bash (Words of the form $‘string’ are treated specially.).

spirit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.