1

行末にたくさんの 0 を追加しようとしています。行の識別方法は、「expr1」で始まる行が後に続くことです。

Vimで私がしていることは次のとおりです。

s/\nexpr1/ 0 0 0 0 0 0\rexpr1/

そしてそれはうまくいきます。ubuntuでは \n が通常行を終了するために使用されることを知っていますが、それを行うたびに ^@ 記号が表示されるため、 \r は正常に機能します。これをsedで使用すると思ったのですが、実際には機能していません。ここに私が通常書いているものがあります:

sed "s/\nexpr1/ 0 0 0 0 0 0\rexpr1/" infile > outfile
4

3 に答える 3

3

行末マーカーは $ です。これを試して:

s/$/ 0 0 0 0 0 0/

環境によっては、$ をエスケープする必要がある場合があります。

于 2011-02-11T01:05:20.807 に答える
0
awk '{$0=$0" 0 0 0 0 0 "}1' file > tmp && mv tmp file

ruby -i.bak -ne '$_=$_.chomp!+" 0 0 0 0 0\n";print' file
于 2011-02-11T01:08:35.023 に答える
0
awk '$(NF + 1) = " 0 0 0 0 0 0"' infile > outfile
于 2011-02-11T01:34:31.130 に答える