我有以下输入文件,我希望打印每隔一个字段:
A=1=B=2=C=3
获得以下输出:
1 2 3
我努力了:
awk 'BEGIN {FS="="; OFS=" "} {for (i=2; i<=NF; i+=2); print ($i) }' input_file
这显然行不通。我认为我的 for 循环部分是正确的,但我的打印部分有问题。
谢谢。
$ awk -v RS== -v ORS=" " '0==NR%2' input_file
1 2 3
怎么运行的
选择
原始代码中的关键问题是分号放错位置。考虑:
for (i=2; i<=NF; i+=2); print ($i)
在这种情况下,print
仅执行命令after the for
循环退出。
Try:
$ awk 'BEGIN {FS="="; OFS=" "} {for (i=2; i<=NF; i+=2)print $i }' input_file
1
2
3
或者,如果您希望输出在一行上:
$ awk 'BEGIN {FS="="} {for (i=2; i<=NF; i+=2)printf "%s ", $i; print "" }' input_file
1 2 3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)