首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用awk查找KB中的数字,然后更改并替换为GB并显示整行。

使用awk查找KB中的数字,然后更改并替换为GB并显示整行。
EN

Stack Overflow用户
提问于 2021-12-22 20:20:32
回答 1查看 34关注 0票数 2

我试图在KB单元(盖KB: 7606353 )中搜索下面的数字,这样它将显示为(复盖GB: 7.25 ),我尝试了许多awk选项将下面的数字从KB单元更改为GB,以及其他复杂的工具,我使用这些工具将输出发送到文件中,然后再使用,我的目标是像一个awk那样找到后面的数字(复盖KB:),然后除以/1024/1024,然后改为GB .我最大的努力是

代码语言:javascript
运行
复制
awk '($NF == ($NF+0)){printf("%s %6.2f\n",$0,$10/1024/1024)}END{print ""}' 

但是,这将在行尾显示我所需的数字,而我需要替换it..Tried -F来削减一些列,并且也没有得到所需的输出。

来源:

代码语言:javascript
运行
复制
XX YY ZZ checknpr  Y  checkagain  DEV  Cover KB: 7606353, TARGET GB: 1048576
XX YY ZZ checknpr  Y  checkagain  DEV  Cover KB: 7268433, TARGET GB: 1048576
XX YY ZZ checknpr  Y  checkagain  DEV  Cover KB: 6895144, TARGET GB: 1048576
XX YY ZZ checknpr  Y  checkagain  DEV  Cover KB: 6506311, TARGET GB: 1048576
XX YY ZZ checknpr  Y  checkagain  DEV  Cover KB: 5590773, TARGET GB: 1048576
XX YY ZZ checknpr  Y  checkagain  DEV  Cover KB: 5192929, TARGET GB: 1048576
XX YY ZZ checknpr  Y  checkagain  DEV  Cover KB: 4645949, TARGET GB: 1048576

改为:

代码语言:javascript
运行
复制
XX YY ZZ checknpr  Y  checkagain  DEV  Cover GB: 7.25, TARGET GB: 1048576   
XX YY ZZ checknpr  Y  checkagain  DEV  Cover GB: 6.93, TARGET GB: 1048576   
XX YY ZZ checknpr  Y  checkagain  DEV  Cover GB: 6.58, TARGET GB: 1048576   
XX YY ZZ checknpr  Y  checkagain  DEV  Cover GB: 6.20, TARGET GB: 1048576   
XX YY ZZ checknpr  Y  checkagain  DEV  Cover GB: 5.33, TARGET GB: 1048576   
XX YY ZZ checknpr  Y  checkagain  DEV  Cover GB: 4.95, TARGET GB: 1048576   
XX YY ZZ checknpr  Y  checkagain  DEV  Cover GB: 4.43, TARGET GB: 1048576
EN

回答 1

Stack Overflow用户

发布于 2021-12-22 20:46:52

awk工作时不知道条件的字段号。

代码语言:javascript
运行
复制
$ awk '{ for(i=1;i<=NF;i++){ if($i~/^KB:/){ $i="GB:";
    $(i+1)=sprintf("%.2f,",$(i+1)/1024^2) } } }1' file
XX YY ZZ checknpr Y checkagain DEV Cover GB: 7.25, TARGET GB: 1048576
XX YY ZZ checknpr Y checkagain DEV Cover GB: 6.93, TARGET GB: 1048576
XX YY ZZ checknpr Y checkagain DEV Cover GB: 6.58, TARGET GB: 1048576
XX YY ZZ checknpr Y checkagain DEV Cover GB: 6.20, TARGET GB: 1048576
XX YY ZZ checknpr Y checkagain DEV Cover GB: 5.33, TARGET GB: 1048576
XX YY ZZ checknpr Y checkagain DEV Cover GB: 4.95, TARGET GB: 1048576
XX YY ZZ checknpr Y checkagain DEV Cover GB: 4.43, TARGET GB: 1048576
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70454693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档