web-dev-qa-db-fra.com

Comparaison de chaînes dans awk

Je dois comparer deux chaînes dans l'ordre alphabétique, pas seulement le test d'égalité. Je veux savoir s'il y a moyen de faire la comparaison de chaînes dans awk?

25
Dagang

Bien sûr, il peut:

pax$ echo 'hello
goodbye' | gawk '{if ($0 == "hello") {print "HELLO"}}'
HELLO

Vous pouvez également faire des tests inégalité (ordonnés):

pax> printf 'aaa\naab\naac\naad\n' | gawk '{if ($1 < "aac"){print}}'
aaa
aab
27
paxdiablo

Vous pouvez vérifier la réponse dans le manuel nawk

echo aaa bbb | awk '{ print ($1 >= $2) ? "true" : "false" }'
1
Ian Chang