我有一个由两列和一堆数字组成的文件,我想搜索并查找第二列以 1.008 或 1.009 或 1.01 开头的行,但我想打印第一列和第二列。
我试过:
grep -Ev '^1.008|^1.009|^1.01'
但它不起作用。
答案1
当搜索表格数据中的一个字段时,awk
您的黄金门票是:
awk '$2 ~ /^1.0(0[89]|1$)/ { print $1,$2 }' /path/to/inputfile
这会将您指定的模式(“以1.009 or 1.009
或等于1.01
”开头)应用于第二个字段,并且对于匹配项,输出第一个和第二个字段。
答案2
假设你的文件命名exercise.txt
如下:
a 1.008
b 1.00005
c 1.01
d 1.01
e 1.009
awk '( $2 >= 1.008 && $2 < 1.02 ) { print $1,$2 }' exercise.txt > output.txt
那么你有:
$ head output.txt
a 1.008
c 1.01
d 1.01
e 1.009