加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

从linux中的文件中提取字符串下的字符串

发布时间:2020-12-13 22:59:12 所属栏目:Linux 来源:网络整理
导读:这个网站过去帮了我很多,但现在才注册,因为我找不到现在正在尝试的确切答案.我希望你能帮忙. 我正在尝试提取或剪切文件中字符串下的值.我的文件看起来像: Xmqqstab v1.0 - Developed by Oliver Fisse (ISSW) **** **** Tuesday,April 26,2016 10:49:21 AM B
这个网站过去帮了我很多,但现在才注册,因为我找不到现在正在尝试的确切答案.我希望你能帮忙.

我正在尝试提取或剪切文件中字符串下的值.我的文件看起来像:

Xmqqstab v1.0 - Developed by Oliver Fisse (ISSW)

 ****
 **** Tuesday,April 26,2016 10:49:21 AM BST ****
 ****
       UNIX
 Report for queue(s): 'Q1' on queue manager 'QMGR'...

        CQD     PQF      MxQD   OIC   OUC    UNC  LGETDATE  LGETTIME  LPUTDATE  LPUTTIME  QOM G P   Local Queue Name
 ----------------------------------------------------------------------------------------------------------------------------------------------------
          5   0.10%      5000     0     0      0 2016-04-26 10.48.46 2016-04-26 10.49.01  26s E E - Q1

              1 queue(s) matching.

该文件实际上提供了MQ队列统计信息,并且我试图获取值,CQD = 5(这可以是任何数字编号),LGETTIME = 10.48.46.

我可以使用以下值获取值:grep -A3’CQD’file.txt | sed -n’3p’.从行我将不得不按列切割值,但我认为这样做不准确,因为数字可能会变化为5,在这种情况下可能是一个四位数字,在这种情况下列数会改变.

我希望我能清楚这个问题.

非常感谢任何帮助.

谢谢.

解决方法

最简单的解决方案是用您选择的分隔符替换您的多个空格,然后切割将可靠地工作,就像您首先计划的那样:

grep -A3 'CQD' file.txt | sed -n '3p' | sed 's/  */_/g'  | cut -f2 -d'_'

这是用下划线替换多个空格的部分:

sed 's/  */_/g'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读