从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' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |