关于 linux shell awk 分隔符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于 linux shell awk 分隔符相关的知识,希望对你有一定的参考价值。

想请教下大家 awk -F '[ :]+' /etc/season.log 想问下这个分隔符是什么意思 能详细点说明下吗 谢谢

空格和冒号(一个或多个)都可以用作字段分隔符。
比如文本格式为:
Spring::123 456::AirAsiaGo:haha

分割出的字段就是
Spring
123
456
AirAsiaGo
haha追问

root> cat t3.txt
Spring::123 456::AirAsiaGo :haha
root> awk -F\'[ :]\' \'print $1\' t3.txt
Spring::123 456::AirAsiaGo :haha
root> awk -F\'[ :]\' \'print $2\' t3.txt
root>
发现有点不一样,为什么呢。谢谢

追答

少了个加号,请仔细。加号表示前面的字符出现一次或多次,这样才能匹配::

-F"[ :]+" 建议使用双引号

参考技术A [ :]+ 是一个正则表达式, 匹配一个以上[]里的字符. 也就是以一个或多个空格和:分隔字段.

以上是关于关于 linux shell awk 分隔符的主要内容,如果未能解决你的问题,请参考以下文章

Java面试12|Linux及Shell脚本

linux shell sed awk 命令(2)-awk

Linux Shell编程四剑客-awk

linux shell awk -F‘:‘ ‘{print $1}‘

Linux Shell编程实战---以逆序形式打印行

(shell脚本)特殊分隔符文本文件导入MongoDB