awkを使用してゼロを含む行番号を印刷する方法を教えてもらえますか?ここでawkを使用してゼロから始まる行番号を印刷する
は私の入力ファイルは、私はawkコマンドの下に実行したときに、私の予想出力は私が始まる行番号を印刷するにはどうすればよいfile.txt
であるのに対し、私はactual_output.txt
awk '{print NR,$0}' stackfile2.txt | tr " ", "," > actual_output.txt
ですゼロ(0)?
awkを使用してゼロを含む行番号を印刷する方法を教えてもらえますか?ここでawkを使用してゼロから始まる行番号を印刷する
は私の入力ファイルは、私はawkコマンドの下に実行したときに、私の予想出力は私が始まる行番号を印刷するにはどうすればよいfile.txt
であるのに対し、私はactual_output.txt
awk '{print NR,$0}' stackfile2.txt | tr " ", "," > actual_output.txt
ですゼロ(0)?
NRは1から始まり、そのawkを使用し
awk '{print NR-1 "," $0}'
出力フィールド区切り文字をカンマ:awk -v OFS = "、" '{print NR-1、$ 0}'ファイル 'に設定する方が良いかもしれません。 – fedorqui
を使用します。
0から始まり、i++
はiの値をインクリメントしますが、インクリメント前に保持していた元の値を返します。 Perlはオプションがある場合は
awk '{print i++ "," $0}' file
+ 'NR-1'より1文字短いawk '{print i ++、$ 0}' OFS =、file'を使用することもできますが、これはもっと長くなります。 – Jotne
@Jotneゴルフのために外出するとき、 'awk '$ 0 = i ++"、 "$ 0''はそれを打ち負かします;-) –
、あなたはこれを試すことができます。
perl -ne 'printf "%s,$_" , $.-1' file
$_
がライン
$.
であることはawkのほかに別のオプションは、オプションが可能になりますnlある行番号
です開始値を設定する場合は-v
、左端、右端、右端には-n <lf,rf,rz>
を、先頭に0を付けることができます。また、行番号とデータの間をコンマ区切りにするには、-s ","
などのフィールド区切り文字に-s
を含めることもできます。
Unix環境では、これは
cat <infile> | ...other stuff... | nl -v 0 -n rz
または単に
nl -v 0 -n rz <infile>
例として行うことができます:アウト
echo "Here
are
some
words" > words.txt
cat words.txt | nl -v 0 -n rz
000000 Here
000001 are
000002 some
000003 words
'awk' {print NR-1、$ 0} ''ではありませんか? –
はいありがとうございましたAnton – user790049
@ user790049、問題を見つけるためにリンクを追いかけることはありません。小さなサンプル入力を表示し、出力をどのように表示するかを教えてください。 http://stackoverflow.com/help/how-to-ask –