mshd.net
当前位置:首页 >> Awk 指定输入输出分隔符 >>

Awk 指定输入输出分隔符

我的是awk for windows: gawk "BEGIN{FS=\"[^]\";ORS=\"^&\"}{for (i=1;i

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

# cat a b a v # cat a|awk '{printf $0}' bav # cat a|awk '{printf $0"-"}' b-a-v-

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

echo '"8588": "aaaddd"' | awk '{print $2}' | awk -F'"' '{print $2}'

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

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

awk -F"|" '{print $1"|"$2"|"$4"|"}' yourfile这样就会在终端输出结果,如果要保存,只需把输出重定向到一个文件就行了 awk -F"|" '{print $1"|"$2"|"$4"|"}' yourfile>newfile 或者使用sed sed 's/|[^|]*\(|[^|]*|$\)/\1/' yourfile如果想直接...

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

前面先运行命令,修改TAB的长度: tabs 20

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