qwfc.net
当前位置:首页 >> Awk指定多个分隔符 >>

Awk指定多个分隔符

-F后面是可以跟正则表达式的,比如下面 awk -F[abcd;] 就可以多种字符同时当做分隔符.上面是单个字符,也可以是多个或不定长度的字符串当做分隔符.

awk -F '中括号中间指定两个分隔符即可' '{print $1}'类似于这种

awk -F "字符串"用-F参数后而跟一个字符串,这个字符串就被当成正则处理生成分隔符如果没有特殊字符的话,原始字符串就被设置为字段分隔符

awk -F" *"当 -F后面跟着一个以上字符时,这个字符串被当成正则表达式,所以" *"两个空格跟一个星号表示用一个或多个空格做分隔符

echo "1 2 3"|awk 'begin{ofs="["}{$1=$1;print $0}'#$1=$1是为了让ofs生效, 没有特别的意义#指定-f 也就是输入分隔符fs 会影响你的输入, 你的情景就不要指定的. 仅指定ofs即可

以二选一的方法分割:awk 'BEGIN{FS=",|;"}' 或者以,;同时为分割符号 awk 'BEGIN{FS=",;"}'这个问题稍微google一下就知道了.

用[]括号起来,请采纳

awk只能某一个分隔符切割字符串` echo "aa,bb,cc"|awk -F ',' '{print $1} '` 输出结果就是aa $1 就是第一项 $NF是最后一项你这种分隔符不一致的没法用awk分割啊

当有多个分隔符的时候,不能在外面直接用 -F,而是要用BEGIN{FS="[:=;]"} echo "RLTDP:MSC=ALL;" | awk 'BEGIN{FS="[:=;]"}{print $1"|"$2"|"$3}'

如果是想要多个分隔符当成一个分隔符,例如:分隔符用:表示,a:5 和 a:::::5 都当成2个字段,第一个字段是a,第二个字段是5,那么可以:

网站首页 | 网站地图
All rights reserved Powered by www.qwfc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com