【发布时间】:2012-02-02 19:06:38
【问题描述】:
我对 BASH 比较陌生,我正在尝试使用 awk 根据文本文件的第 4 列过滤掉第 1 列数据。如果第 4 列数据与 x 的范围匹配,则它将输出第 1 列数据。 “x”假设是数字 1-10 (1,2,3..10) 的范围。
awk -F: '{ if($4=="x") print $1}' filename.txt
filename.txt
sample1 0 0 4
sample2 0 0 10
sample3 0 0 15
sample4 0 0 20
实际使用:
awk -F: '{ if($4=="1-10") print $1}' sample.txt
output = sample1, sample2, sample3, sample4
应该是:仅限sample1 sample2。
是否存在我没有看到的语法错误,或者我可能完全错误地使用了这个语法?
【问题讨论】: