【发布时间】:2016-04-28 11:01:02
【问题描述】:
这个网站过去帮了我很多,但现在才注册,因为我找不到现在正在尝试的确切答案。我希望你能提供帮助。
我正在尝试提取或剪切文件中字符串下的值。我的文件看起来像:
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 一样变化,在这种情况下可能是四位数字,在这种情况下,列号会改变。
我希望这个问题很清楚。
不胜感激。
谢谢。
【问题讨论】:
-
awk '{print $1}'或echo line | tr -s ' ' | cut -d' ' -f1? -
无法确定您要查找的输出。只是希望以任何特定语言将值放入数组中,或者您是否正在寻找一种方法来提取“所有符合您标准的行”以便在其他软件或其他软件中进行后处理?跨度>
-
感谢您的回复。我试图在 CQD 和其他字符串下获取值。科尔的回复有帮助。他的建议是使用: read my_CQD my_LGETDATE