wdjh.net
当前位置:首页 >> Awk 按字符串分割 >>

Awk 按字符串分割

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

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

用[]括号起来,请采纳

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

# echo a:b:c|sed 's/:/\n/g' a b c # echo a:b:c|awk -F: '{for(i=1;i

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

awk做不到修改字符的,可以使用sed进行修改。这个需求还是可以实现的。能否看一下喔的网名,私聊看一下?

用cut最简便(参见 小米肥猫 的回答)。 另外,Bash中特有的字符串处理方法(掐头去尾法)也比较常用(参见下面的链接)。 对于这道题来说: var=“dfhjk_fewsk>dfakhi=vshbjy_df>brfdgr

[root@localhost ~]# cat -A asd atqwe$as dfgh$d dfgh$fga dghsdf$dg shsgh$sdafsdga$[root@localhost ~]# echo `cat -A a`sd atqwe$ as dfgh$ d dfgh$ fga dghsdf$ dg shsgh$ sdafsdga$[root@localhost ~]# echo `cat -A a`|awk -F"$" '{print...

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

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