【发布时间】:2018-06-19 12:41:30
【问题描述】:
我正在尝试在 2 的倍数列之间插入两个逗号。例如,对于以下输入文件,我正在尝试在列 b 和 c & d 和 e 之间打印 2 个逗号:-
a b c d e
f g h i j
k l m n o
输出应该是这样的:-
a b , , c d , , e
以下代码是我目前所拥有的。请注意,我也有模式匹配,因此是/a/。我使用for 循环来打印带有if 语句的逗号,该语句应该每两列打印两个逗号,这就是模的用途:- :-
awk '/a/{for (i = 1; i <= NF; i++) printf $i" "; if ((i%2)==0) printf " , ,"}' test.txt > blabla.txt
结果如下。我的for 循环和模式匹配工作得很好,但由于某种原因,if 语句没有被执行,我不知道为什么:-
a b c d e , ,
任何帮助或更好的选择将不胜感激。提前致谢!
【问题讨论】: