加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 如果该字段前面有$符号,我如何检查某个字段是否大于某个

发布时间:2020-12-15 21:39:28 所属栏目:安全 来源:网络整理
导读:给定一个名为employee.txt的文件,格式为(Firstname,Lastname,Salary),空格为字段分隔符: Foo Bar $1,000First Last $5,550Abc Def $3,000Stack Overflow $6000Help Please $4700 我想打印第三个字段大于$4,000的行.期望的输出: First Last $5,550Stack Ove
给定一个名为employee.txt的文件,格式为(Firstname,Lastname,Salary),空格为字段分隔符:

Foo Bar $1,000
First Last $5,550
Abc Def $3,000
Stack Overflow $6000
Help Please $4700

我想打印第三个字段大于$4,000的行.期望的输出:

First Last $5,550
Stack Overflow $6000
Help Please $4700

我不确定如何检查字段是否大于4000,例如,使用$和,在其中.

我已经尝试使用sed替换$,然后使用空白然后重定向到awk但我希望输出包含$和原始版本一样.

这可以用awk吗?

解决方法

$awk '{v=$3; gsub(/[$,]/,"",v)} v+0>4000' employee.txt 
First Last $5,550
Stack Overflow $6000
Help Please $4700

这个怎么运作

> v = 3美元

将第三个字段保存为变量v.
> gsub(/ [$,] /,“”,v)

从v中删除有问题的字符,
> v 0> 4000

打印v大于4000的行.

打印一系列值

要打印值大于4000且小于5000的所有行:

$awk '{v=$3; gsub(/[$,v)} v+0>4000 && v+0<5000' employee.txt 
Help Please $4700

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读