わかりました、これがばかげた質問ではないことを願っていますが、それが役立つ場合は、すでにイライラするほど一生懸命答えを探しました...私が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
が、何もうまくいかないようです... 何が間違っていますか?
テリー