AWK可以说是linux进行文本处理的一把利器,很多时候一行简单命令,便可以完成复杂的文本处理任务。
很多时候,我们在处理一些数据处理的需求的时候,可能会产生一些数据文件,接下来,可能就涉及到要对这些数据文件做一些处理;通常产生的数据文件可能会有特定的格式
例如:
text1,text2,text3..... //以逗号为分隔符
text1 text2 text3.......//以空格为分隔符
等等这种类似的文件。
这时候,如果要查找某一列相同的所有的行,用一般的命令就很不方便处理了,不过用AWK就很方便了,
如,我们要查询第二列相同的行,每列以逗号来分割,可以这样:
awk -F[","] 'NR==FNR{a[$2]++}NR>FNR&&a[$2]>1{ print $0}' file file
NR: awk中的内置变量,表示当前已经读取的总记录数
FNR:awk内置变量,表示当前行所在文件中的行数
除此之后,我们还可以根据需要,查找其他分隔符分割的,其他列的一些数据处理。