awk中的字符串比较

时间:2011-05-26 13:12:44

标签: string awk syntax

我需要按字母顺序比较两个字符串,而不仅仅是相等测试。我想知道有没有办法在awk中进行字符串比较?

3 个答案:

答案 0 :(得分:27)

当然可以:

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

答案 1 :(得分:6)

你可以使用标准布尔运算符在awk中进行字符串比较,这与你必须使用strcmp()的C不同。

echo "xxx yyy" > test.txt

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

答案 2 :(得分:1)

您可以在nawk manual

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