在 Shell 中使用方括号作为多个分隔符
Posted
技术标签:
【中文标题】在 Shell 中使用方括号作为多个分隔符【英文标题】:Using Square Bracket as Multiple Delimiter In Shell 【发布时间】:2020-03-02 01:23:44 【问题描述】:我有一个如下的日志:
19.11.05 16:58:07.574 [ shc:7471262]
我想使用方括号作为带有冒号(“:”)字符的多重分隔符来解析它
awk -F '[:]' 'print $4'
它认为“:”是唯一的分隔符([ 和 ] 不计算在内)
【问题讨论】:
你希望命令打印什么? 可能类似于cut -d \[ -f 2 <logfile | cut -d : -f 1
计数$4
,你计算HH:MM:SS
之间的冒号(:
)了吗?
【参考方案1】:
你必须加倍 echap 括号:
awk -F'[\\]:\\[]' 'print $4' <logfile
可以为所欲为。
或者
cut -d \[ -f 2 <logfile | cut -d : -f 1
【讨论】:
以上是关于在 Shell 中使用方括号作为多个分隔符的主要内容,如果未能解决你的问题,请参考以下文章
linux bash shell中,单引号 双引号,反引号(``)的区别及各种括号的区别