所以我有一个看起来像这样的文本文件:(第一列是重复次数,第二列是数据)
27 amalyais
17 knc154
14 formulaoneboy
13 mathchallenged31
9 GooGooo1234
8 rkinder
7 tony
7 rammnatt2003
我的代码读取文本文件,删除任何重复项,并计算数据重复的时间。但是,有些数据是大写的,而其他数据是小写的。如果出现这种情况,我的代码现在打印出类似的东西:
27 amalyais
12 AMALYAIS
9 Amalyais
有没有办法解决这个问题? 这是我的awk代码。我是awk的新手所以我仍然在努力解决很多问题:(temp1是带有重复数据的文本文件,temp2的输出如上所述)
sort -k2 < temp1 |
awk '!z[$1]++{a[$1]=$0;} END {for (i in a) print z[i], a[i]}' |
sort -rn -k1 > temp2
答案 0 :(得分:2)
在awk
命令中,您可以在执行任何逻辑之前将整个记录转换为小写:
awk '{$0=tolower($0)} !z[$2]++{a[$2]=$0;} END {for (i in a) print z[i], a[i]}'
但是,如果您将预期的输出包含在内,那么我可以为您提供更准确的答案。