gpt4 book ai didi

linux - 使用打印两个不同的文件字段

转载 作者:太空宇宙 更新时间:2023-11-04 10:39:03 25 4
gpt4 key购买 nike

我有一个日志:

100.100.100.100 - - [08/Mar/2016:07:53:33 +0100] GET /rbt/Utils.do?receiverID=665135085&action=send_sms&senderID=22077&dtocRequest=n&smsText=Tu+PIN+es+95934&isPostMethod=n&subscriberID=665135085&useSameResForConsent=n&mode=WEB

我只需要显示两个字段。日期和订阅者 ID 字段(仅限数字)。

我正在尝试以下命令:

cut -d" " -f4,7 input.txt | awk -F"subscriberID=" '{print $2}' input.txt | cut -c0-9

我的输出:

665135085

要求的输出:

08/Mar/2016:07:53:33 +0100 665135085

请帮忙。

最佳答案

这是 sed 的工作:

sed -E 's/.*\[([^]]*)\].*subscriberID=([0-9]*).*/\1 \2/' input.txt

如果你有一个奇怪的 sed 不支持“扩展”正则表达式(由 -E 标志启用),你必须添加一个 \ 在每个开闭括号之前:

sed 's/.*\[\([^]]*\)\].*subscriberID=\([0-9]*\).*/\1 \2/' input.txt

关于linux - 使用打印两个不同的文件字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36008343/

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