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内置变量,表示当前行所在文件中的行数

除此之后,我们还可以根据需要,查找其他分隔符分割的,其他列的一些数据处理。

 

相关文章: