
最終行ごとに増加番号を追加するにはどうすればよいでしょうか?
study
fly
run
swim
learning
todo
no
なる
study20978
fly20979
run20980
swim20981
learning20982
todo20983
no20984
答え1
私はNotepad++ユーザーですが、無料版を使いたいですAWKこれは、無駄がなく効果的であるため、このツールに最適です。
AWK解決策(ちょうどawk.exe をダウンロード以下のコマンドラインを実行します)
awk "BEGIN { c = 20978 } { print $0 c++ }" input.txt > output.txt
結果:
study20978
fly20979
run20980
swim20981
learning20982
todo20983
no20984
ダウンロード中:
ツールをインストールする必要はなく、ダウンロードして解凍するだけですバイナリ.zipEXE は にありますgawk-3.1.6-1-bin.zip\bin\awk.exe
。
指示内容:
BEGIN { c = 20978 }
c
を初期化しました20978
。BEGIN
セクションは 1 回だけ実行されます。- セクションは
{ print $0 c++ }
各行ごとに1回実行されます。その行( に格納されています$0
)とカウンターの値c
(すぐに増加します:c++
)を出力します。
再利用できるようにする:
将来使用するためにソース コードを保存したい場合は、numbering.awk
より適切な形式でファイルに保存します。
BEGIN { c = 20978 }
{ print $0 c++ }
そして、そのソース ファイルを参照して変更されたコマンド ラインを使用します。
awk -f numbering.awk input.txt > output.txt
このコマンドはファイルに保存できるのでnumbering.bat
、覚えておく必要はありません。
追加説明:
ご参考までに、この情報源のより分かりやすい説明は次のようになります。
# this section runs once at the beginning
BEGIN { c = 20978 } # initialization of the counter "c"
# this section runs once for each line
{ print $0 c; # print original line followed by value of counter "c"
c = c + 1; # assign value of calculation "c + 1" into "c"
}