[英]How can I use “~” as an AWK field separator?
我正在尝试将文件分隔符用作“〜”,但不知何故它无法正常工作,而其他分隔符如“,”,“|” 正在按预期工作。 我的意思是没有错误,但我没有得到想要的 output。
我正在尝试在“example.txt”文件中使用相同的数据,我添加了 2 行由 ~ 分隔,然后将其更改为 |。
主要目的是在记录末尾添加拆分名称(仅在 newmodifiedline 中感兴趣)rest 我只是想测试这些值。
awk 代码:
awk 'BEGIN { FS = "~" } ; {line=$0}; {fullname=$1}; {split(fullname, a, " ")}; {arrysize=length(a)}; {newmodifiedline=line"~"a[1]"~"a[2];}; {print fullname, arrysize, a[1], a[2], "-->",newmodifiedline}' example.txt
这适用于 POSIX 和 GNU awk:
echo '1~2~3' | awk -v FS="~" '{print $2}'
echo '1~2~3'| awk 'BEGIN{FS="~"} {print$2}'
两者都按预期打印2
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.