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

从linux中的文件中提取字符串下的字符串,第1张

概述这个网站过去帮了我很多,但现在才注册,因为我找不到现在正在尝试的确切答案.我希望你能帮忙. 我正在尝试提取或剪切文件字符串下的值.我的文件看起来像: Xmqqstab v1.0 - Developed by Oliver Fisse (ISSW) **** **** Tuesday, April 26, 2016 10:49:21 AM BST **** **** UNIX 这个网站过去帮了我很多,但现在才注册,因为我找不到现在正在尝试的确切答案.我希望你能帮忙.

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

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'
总结

以上是内存溢出为你收集整理的从linux中的文件中提取字符串下的字符串全部内容,希望文章能够帮你解决从linux中的文件中提取字符串下的字符串所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1018225.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存