text.txt
したがって、数行の文字を含むサンプルファイルがあります。
abc
abc
yxz
abc
今、そのような行に番号を付けて別のファイルにコピーしたいと思います。
最終予想結果:
1 abc
2 abc
3 yxz
4 abc
ベストアンサー1
Unixには行番号付けのための多くのユーティリティがありますが、面倒なことはこれを行いません。ただデフォルトの基本番号。
nl file
ファイル行の番号を付ける(POSIXではなくUnix / GNU)コマンドですが、デフォルトでは空ではない行の番号だけを付け、デフォルトでは特別なフッター/ヘッダー区切り文字を処理します。すべての行に番号を付けるには、次の手順を実行する必要があります。
nl -ba -d '
' text.txt > newfile
(これは上記の一重引用符内の改行文字です。)nl
一部の実装では動作しません。。
POSIXコマンド中には次のものもありますpr
。
pr -tn5 text.txt > newfile
pr -t:n5 text.txt > newfile
フォームフィードを特に扱うが。
awk '{printf "%5d %s\n", FNR, $0}' text.txt > newfile
大丈夫でしょうし、好きな方法で数字の書式を設定できます。期待される出力:
awk '{printf "%-2d %s\n", FNR, $0}' text.txt > newfile
返品:
grep -n '^' text.txt > newfile
別の出力形式があります。
一部のcat
実装では-n
これをサポートしています。
cat -n text.txt > newfile