【发布时间】:2020-04-17 13:13:38
【问题描述】:
我每天早上都会从我的一位工程师那里收到一个 .txt 文件,其中包含以下信息:
"New York"|NYC|network-details source-group NYC-srcIP dest-group NYC-destIP
"San Francisco"|SF|network-details source-group SF-srcIP dest-group SF-destIP
我们有一个运行的脚本,它可以通过提供指定的源组或目标组向我们返回类似于以下的信息:
#Calling on source-group
NYC-srcIP|000.000.000.0/32
SF-srcIP|111.111.111.1/32
#Calling on dest-group yields similar info
NYC-destIP|000.000.000.0/32
SF-destIP|111.111.111.1/32
我遇到的主要问题是对大量数据执行此操作并解析 .txt 文件中的字符串,以便我可以运行脚本并将其附加到 2 个不同的文件中,以获取源组和目标-所有这些位置的组。
但是 .txt 有多个分隔符。本质上,我只想要源组值(例如:NYC-srcIP)和目标组值(例如:NYC-destIP)。
在 bash 中是否有一种简单的方法可以做到这一点?最好是 pythonic,我可以在哪里为我的 .txt 文件中的每一行获取源组和目标组之后的第一个空格分隔子字符串?
【问题讨论】:
-
请为解析的 *.txt 文件添加所需的输出。
NYC-srcIP和NYC-destIP是文字字符串还是只是真实数据的占位符? -
“类似下面的信息”中出现的类似IP的值是从哪里来的? (即
|000.000.000.0/32)。祝你好运。
标签: regex string bash awk split