小编Bur*_*135的帖子

使用AWK过滤掉具有数字范围的列

我是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
Run Code Online (Sandbox Code Playgroud)

实际使用:

awk -F: '{ if($4=="1-10") print $1}' sample.txt
output = sample1, sample2, sample3, sample4
Run Code Online (Sandbox Code Playgroud)

应该是:sample1 sample2只有.

语法中是否有错误,我没有看到,或者我可能使用这种语法完全错误?

bash awk numbers range

31
推荐指数
4
解决办法
8万
查看次数

标签 统计

awk ×1

bash ×1

numbers ×1

range ×1