我有一个需要分析的巨大文件。我想要做的是将那些在某列中具有特定值的行分开。因此,它只选择那些属于某个类别的数据。如何通过简单的bash commnand或脚本来实现。
例如,我想只分隔第8列中值为1,2,3或4的行。该文件以空格分隔。
答案 0 :(得分:4)
您可以将awk用作:
awk '$8 == 1 || $8 == 2 || $8 == 3 || $8 == 4' file
答案 1 :(得分:3)
使用awk:
awk '$8 >= 1 && $8 <= 4' your_file.txt
答案 2 :(得分:3)
另一个AWK答案:
awk '$8 ~ /1|2|3|4/' inputfile
答案 3 :(得分:2)
又一个awk回答。
awk '$8 ~ /[1-4]/' file
但是,只是为了某种变化,一个bash的答案
while read line ; do
fields=($line)
[[ ${fields[7]} =~ [1-4] ]] && echo $line
done < file