首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用awr Linux红帽列出文件中的字符串

使用awr Linux红帽列出文件中的字符串
EN

Stack Overflow用户
提问于 2017-07-03 15:27:14
回答 1查看 114关注 0票数 0

我有一个文件"salida_test“包含(重复的方式):

代码语言:javascript
复制
Point ID   1.750251
 Point Name >BRI_4L_SA2__INT Interruptor 33kV Parque Industrial              <
 value 2
 Time of last value update   (ascii): >03/07/17 11:11:14.596 ART<
 TLQ   0000000c00004000
 station #79    abbr: >BRI         <  full: >E.T. BRIGADIER LOPEZ            <

 Point ID   1.140147
 Point Name >RUF_5BC1____INT Int. Banco Cap. 1 13.2kV                        <
 value 2
 Time of last value update   (ascii): >03/07/17 10:27:58.495 ART<
 TLQ   0000000c00800000
 station #18    abbr: >RUF         <  full: >E.T. RUFINO   

              <

我只需要用这种格式提取行:

代码语言:javascript
复制
Point ID   1.750251  value 2    --> in the same line
Point ID   1.140147  value 2    --> in the same line

然后,再次过滤:

代码语言:javascript
复制
750251 2
140147 2

我有一个部分过滤器,但我无法获得解决方案:

代码语言:javascript
复制
awk '(/Point ID/ || /hi/)' salida_test

显示:

代码语言:javascript
复制
 Point ID   1.750251
 Point ID   1.140147

以及:

代码语言:javascript
复制
awk '(/value/ || /hi/) && !/Time of last value/' salida_test

显示:

代码语言:javascript
复制
value 2
value 2

你能给我一个确定的决议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-03 15:50:06

尝试:

代码语言:javascript
复制
awk '/Point ID/{sub(/.*\./,"",$3);VAL=$3;next} /^value/{print VAL,$2}'  Input_file

解释:查找其中包含字符串“点ID”的行,然后将它的第三个字段替换为DOT,然后将其保存到名为VAL的变量中,next的使用将跳过awk的所有进一步语句。现在^Value将检查从它开始的行/记录,如果是的话,它将简单地打印变量VAL的值和它的第二个字段值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44889272

复制
相关文章

相似问题

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