使用 awr Linux Red Hat 从文件中列出字符串
Listing strings from file using awr Linux Red Hat
我有一个文件 "salida_test" 包含(以重复方式):
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
<
我只需要提取行,格式如下:
Point ID 1.750251 value 2 --> in the same line
Point ID 1.140147 value 2 --> in the same line
然后,再次过滤:
750251 2
140147 2
我有一个部分过滤器,但我无法获得解决方案:
awk '(/Point ID/ || /hi/)' salida_test
显示:
Point ID 1.750251
Point ID 1.140147
和:
awk '(/value/ || /hi/) && !/Time of last value/' salida_test
显示:
value 2
value 2
你能给我一个可行的解决方案吗?
尝试:
awk '/Point ID/{sub(/.*\./,"",);VAL=;next} /^value/{print VAL,}' Input_file
解释: 查找其中包含字符串 "point ID" 的行,然后将其第 3 个字段替换为 DOT 并保存然后将它赋给名为 VAL 的变量,使用 next 将跳过所有进一步的 awk 语句。现在 ^Value 将检查从它开始的 line/record,如果是,那么它将简单地打印变量 VAL 的值以及它的第二个字段值。
我有一个文件 "salida_test" 包含(以重复方式):
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
<
我只需要提取行,格式如下:
Point ID 1.750251 value 2 --> in the same line
Point ID 1.140147 value 2 --> in the same line
然后,再次过滤:
750251 2
140147 2
我有一个部分过滤器,但我无法获得解决方案:
awk '(/Point ID/ || /hi/)' salida_test
显示:
Point ID 1.750251
Point ID 1.140147
和:
awk '(/value/ || /hi/) && !/Time of last value/' salida_test
显示:
value 2
value 2
你能给我一个可行的解决方案吗?
尝试:
awk '/Point ID/{sub(/.*\./,"",);VAL=;next} /^value/{print VAL,}' Input_file
解释: 查找其中包含字符串 "point ID" 的行,然后将其第 3 个字段替换为 DOT 并保存然后将它赋给名为 VAL 的变量,使用 next 将跳过所有进一步的 awk 语句。现在 ^Value 将检查从它开始的 line/record,如果是,那么它将简单地打印变量 VAL 的值以及它的第二个字段值。