gpt4 book ai didi

linux - 如何从文件中剪切两个搜索模式(包括搜索模式)之间的字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 04:44:02 26 4
gpt4 key购买 nike

我有一个名为 applications.txt 的文件,其中包含以下数据:

MOB-x01gmobdb2a-PRD-IBG
TDST-AB-x01gtdsdb1a-UAT-CST
ABC-x01gabcdb2a-PRD-CBG
PQR-x01gpqrdb1a-UAT-IBG
XYZA-GZ-x01gxyzdb2a-PRD-TS
UVW-x01guvwdb1a-UAT-IBG

此文件中的字符串包含我想显示的主机名,如下所示:

x01gmobdb2a
x01gtdsdb1a
x01gabcdb2a
x01gpqrdb1a
x01gxyzdb2a
x01guvwdb1a

上述服务器很少是 UAT,也很少是 PROD 服务器。正如您所看到的,主机名夹在两种模式之间:

  1. 第一个模式是 -x(仅小写 x),
  2. 第二个模式是 -UAT-PRD。无论第一个模式和第二个模式之间可用的字符串是什么,我们都需要显示。

注意:从第一个模式开始,x 也应该显示在输出中。主机名示例为:x01gmobdb2a

最佳答案

使用 awk 的一个:

$ awk 'match($0,/-x[^-]*/){print substr($0,RSTART+1,RLENGTH-1)}' file
x01gmobdb2a
x01gtdsdb1a
x01gabcdb2a
x01gpqrdb1a
x01gxyzdb2a
x01guvwdb1a

关于linux - 如何从文件中剪切两个搜索模式(包括搜索模式)之间的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50019820/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com