gpt4 book ai didi

regex - 第n个元素

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:46:34 24 4
gpt4 key购买 nike

我有一个日志文件,我需要在其中对某些特定字段进行 grep。

日志文件使用空格分隔行中的元素,但一行中也可能包含带引号的句子。我需要 grep 第 n 个元素。

文件中的一行可能如下所示:

2018-05-01 12:05:16 9 10.10.10.20 ab bc - - foobar - "bar foo" - "barbar foo" cd ed
2018-05-01 12:05:16 9 10.10.20.20 ab bc - - foobar - "barfoo" abc "barbar foo" cd ed

我想 grep 第 13 个元素,第一行是“barbar foo”,第二行是“abc foo”

所以一个

cut -d " " -f 13 

不会这样做,因为第一行第 11 个元素有“bar foo”,第二行第 11 个元素是“barfoo”

希望这是有道理的!感谢所有帮助

最佳答案

使用 GNU awk:

$ awk 'BEGIN{FPAT="([^ ]*)|(\"[^\"]+\")"}{print $13}' file
"barbar foo"
"barbar foo"

更多关于 FPAT here .

关于regex - 第n个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50836717/

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