我有以下问题作为输入数据文件,格式为
Feb 20 2019 16:35:32 | TXT | APP | SysGuard:1:1:SerLS:1 | 9166 | One minute timer - 16:35
从这里我想得到表格的行
SysGuard:1:1:SerLS:1,One minute timer - 16:35
例如
awk -F"|" '{print $4"|"$6}'
几乎可以满足您的需求,但是前后有空格。
这个选项:
awk -F" | " '{print $4"|"$6}'
将空格和 | 视为分隔符。如何使组合“|”成为分隔符?提前致谢。
并不真地。引自
$ man awk
(强调我的):那些。
" | "
视为正则表达式“空格或空格”。为了不将竖线解释为元字符“或”,您需要通过在其前面添加反斜杠来“转义”它。为了让shell不会干扰“转义”,最好用单引号代替双引号。
尝试:
哎呀。出问题了。awk过于聪明,并放弃了我们的反斜杠。
让我们尝试将其翻倍:
现在这就是你需要的!
man awk
他说:因此,
" | "
一般应将其解释为两个空间的析取。怎么样
-F ' \| '
?