所以我有一个看起来像这样的文本文件:(第一列是重复次数,第二列是数据)
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
在您的awk
命令中,可以在执行以下任何逻辑之前将整个记录转换为小写:
awk '{$0=tolower($0)} !z[$2]++{a[$2]=$0;} END {for (i in a) print z[i], a[i]}'
但是,如果您将期望的输出包括在内,那么我可以给您更准确的答案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句