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

Awk如何指定分隔符为多个字符

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

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

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

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

awk -F":" '{for(i=1;i<=NF;i++) print $i}' 文件名以:号为分隔符将列转换为多行

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

假设有字符串:str="abcdefg"要截取c和f之间的字符串,得到de.可以用split函数,以c和f为分隔符,将字符串分割,取分割后的第二个字段.echo "$str" | awk '{split($0,a,"[cf]");print a[2]}'另一种方法,也可以分别计算出c和f在字符串中的

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

老铁,你这个问题6啊~ 有时候我们使用awk,必须使用多个分隔符才能准确的找到我们想要的数据,如果分隔符指定不好,awk的返回结果可能为空.想指定多个分隔符,只需要用+就好了,看下面的操作吧~ root@jaking-virtual-machine:~# echo

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

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