2

次のようなデータファイルがあります。

1,14.23,1.71,2.43,15.6,127,2.8,3.06,.28,2.29,5.64,1.04,3.92,1065
1,13.2,1.78,2.14,11.2,100,2.65,2.76,.26,1.28,4.38,1.05,3.4,1050
1,13.16,2.36,2.67,18.6,101,2.8,3.24,.3,2.81,5.68,1.03,3.17,1185
1,14.37,1.95,2.5,16.8,113,3.85,3.49,.24,2.18,7.8,.86,3.45,1480
1,13.24,2.59,2.87,21,118,2.8,2.69,.39,1.82,4.32,1.04,2.93,735

vim を使用して、各行から 1 を削除し、最後に追加したいと考えています。結果のファイルは次のようになります。

14.23,1.71,2.43,15.6,127,2.8,3.06,.28,2.29,5.64,1.04,3.92,1065,1
13.2,1.78,2.14,11.2,100,2.65,2.76,.26,1.28,4.38,1.05,3.4,1050,1
13.16,2.36,2.67,18.6,101,2.8,3.24,.3,2.81,5.68,1.03,3.17,1185,1
14.37,1.95,2.5,16.8,113,3.85,3.49,.24,2.18,7.8,.86,3.45,1480,1
13.24,2.59,2.87,21,118,2.8,2.69,.39,1.82,4.32,1.04,2.93,735,1

これを行うエレガントな方法を探していました。

実際に私はそれを試しました

:%s/$/,/g 

その後

:%s/$/^./g

しかし、私はそれを機能させることができませんでした。

編集:まあ、実際には私の質問で1つの間違いを犯しました。データ ファイルでは、最初の文字は必ずしも 1 ではなく、1、2、3 が混在しています。したがって、この質問のすべての回答から、解決策を思いつきました --

:%s/^\([1-3]\),\(.*\)/\2,\1/g

そしてそれは今働いています。

4

5 に答える 5