我有一个巨大的文件,我需要分析。 我想要做的是将那些在特定列中具有特定值的行分开。 所以,它就像只select那些属于某个类别的数据一样。 这怎么能用一个简单的bash commnand或脚本来完成。
例如,我想只分开那些在第8列中有值1,2或3的行。 该文件是空格分隔的。
你可以使用awk作为:
awk '$8 == 1 || $8 == 2 || $8 == 3 || $8 == 4' file
使用awk:
awk '$8 >= 1 && $8 <= 4' your_file.txt
又一个AWK答案是:
awk '$8 ~ /1|2|3|4/' inputfile
又一个awk的答案。
awk '$8 ~ /[1-4]/' file
但是,只是为了一些变化,一个bash的答案
while read line ; do fields=($line) [[ ${fields[7]} =~ [1-4] ]] && echo $line done < file