2011-02-11 10 views
1

私は行の最後に0の束を追加しようとしています。行が識別された方法は、それは私が何をすべきかのVimで「expr1の」sed行の末尾を置換する

で始まる行が続いているということです。

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 

答えて

3

最後の行マーカーは$です。試してみてください:

s/$/ 0 0 0 0 0 0/ 

環境によっては、$をエスケープする必要があります。別のフィールドを作成

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 
0
awk '$(NF + 1) = " 0 0 0 0 0 0"' infile > outfile 
+0

はFS変数に影響を与えます。例えば区切り文字としてタブを持つファイルはスペースになります。この現象を回避するには、ファイルに表示されないようなフィールド区切り文字を指定します。例:-F "@#@#" – kurumi

関連する問題