Você resumiu suas citações e sintaxe. Para definir o separador do campo de entrada, a maneira mais fácil de fazer isso é com a -F
opção na linha de comando:
awk -F '[0-9]' '{ print $1 }'
ou
awk -F '[[:digit:]]' '{ print $1 }'
Isso usaria qualquer dígito como separador do campo de entrada e, em seguida, produziria o primeiro campo de cada linha.
As expressões [0-9]
e [[:digit:]]
não são exatamente as mesmas, dependendo do seu código do idioma. Consulte " Diferença entre [0-9], [[: dígito:]] e \ d ".
Pode-se também definir FS
no awk
próprio programa. Isso geralmente é feito em um BEGIN
bloco, pois é uma inicialização única:
awk 'BEGIN { FS = "[0-9]" } { print $1 }'
Observe que aspas simples não podem ser usadas em uma string de aspas simples no shell e que as awk
strings sempre usam aspas duplas.