Vous avez détruit vos citations et votre syntaxe. Pour définir le séparateur de champ de saisie, la façon la plus simple de le faire est avec l' -F
option sur la ligne de commande:
awk -F '[0-9]' '{ print $1 }'
ou
awk -F '[[:digit:]]' '{ print $1 }'
Cela utiliserait n'importe quel chiffre comme séparateur de champ d'entrée, puis sortirait le premier champ de chaque ligne.
Les expressions [0-9]
et [[:digit:]]
ne sont pas tout à fait les mêmes, selon vos paramètres régionaux. Voir " Différence entre [0-9], [[: digit:]] et \ d ".
On pourrait également définir FS
le awk
programme lui-même. Cela se fait généralement dans un BEGIN
bloc car il s'agit d'une initialisation unique:
awk 'BEGIN { FS = "[0-9]" } { print $1 }'
Notez que les guillemets simples ne peuvent pas être utilisés dans une chaîne entre guillemets simples dans le shell, et que les awk
chaînes utilisent toujours des guillemets doubles.