好的,我希望这不是一个愚蠢的问题,但是如果有帮助的话,我确实已经很沮丧地寻找答案了,...我正在处理以下awk
表达式:
awk '{str="";a=0;while (a++<15) str=str "0,";{ sub(/^.{6}/,"&" "1,",str) }; print str}' sample.txt
Sample.txt可以是任何文本文件,此时无关紧要,因为它只是驱动重复(希望这是达到目的的一种手段)。输出看起来像这样(当然取决于 Sample.txt 文件中有多少行):
0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
然而,我真正想做的是这样的:
awk '{str="";a=0;while (a++<15) str=str "0,";{ sub(/^.{2*NR-1}/,"&" "1,",str) }; print str}' sample.txt
应该生成这样的输出:
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
这可能吗?我已经尝试了一切来Awk
接听,2*NR-1
但似乎没有任何效果,......我做错了什么?
特里