Подтвердить что ты не робот

Сравнение строк в awk

Мне нужно сравнить две строки в алфавитном порядке, а не только тест равенства. Я хочу знать, есть ли способ сравнения строк в awk?

4b9b3361

Ответ 1

Уверен, что он может:

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

Вы также можете выполнить неравенство (упорядоченное) тестирование:

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

Ответ 2

Вы можете выполнить сравнение строк в awk с помощью стандартных логических операторов, в отличие от C, где вам нужно будет использовать strcmp().

echo "xxx yyy" > test.txt

cat test.txt | awk '$1!=$2 { print($1 $2); }'

Ответ 3

Вы можете проверить ответ в руководстве nawk

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