2016-03-28 9 views
0
cat new 

Jackson, Bob D. C0001 book pizza apple 4.00 123as 
Filer, Jack C0002 happy apple hat 4.00 124ab 
Metro, Jim K. C0003 kindle pizza grape 4.00 125ac 

私がここでやってみたいのは、ファイルに100以上の行があり、各行がカウントされるまで行くことができるカウンタを追加することです。その数はあまりにも多いので、例えばカウンタの後ろにファイルはこのように見えます!カウンタを追加するために出力を書式設定する方法

cat new 

1 Jackson, Bob D. C0001 book pizza apple 4.00 123as 
2 Filer, Jack C0002 happy apple hat 4.00 124ab 
3 Metro, Jim K. C0003 kindle pizza grape 4.00 125ac 

答えて

0

次のようにawkを使用することができます。

awk '{printf "%d %s\n", NR, $0}' < new 

出力がちょうど

1 Jackson, Bob D. C0001 book pizza apple 4.00 123as 
2 Filer, Jack C0002 happy apple hat 4.00 124ab 
3 Metro, Jim K. C0003 kindle pizza grape 4.00 125ac 

EDITのようなものです:次のように

awk '{printf "%03d %s\n", NR-1, $0}' < newは0から行番号の開始を行います:

000 Jackson, Bob D. C0001 book pizza apple 4.00 123as 
001 Filer, Jack C0002 happy apple hat 4.00 124ab 
002 Metro, Jim K. C0003 kindle pizza grape 4.00 125ac 
+0

NR <= 0かつNR-0!しかし、もし私がそれが000で始まり、次の数字が001であることを望むなら、私は不思議でした。これは可能ですか? – NewEffect

+0

@NewEffect「NR = 0かつNR-0の場合」とはどういう意味ですか? – YCFlame

+0

awk '{(NR <= 0)print $ 0;それ以外の場合はprintf "%d%s \ n"、NR-0、$ 0} '私は2番に放置すると数字が表示される唯一の方法です。どうして私のコードに... – NewEffect

関連する問題