コマンド ラインを使用してテキスト ファイルに行番号を簡単に追加する
Brian からの質問: 「テキスト ファイルに行番号を追加する必要があります。テキスト エディターの行番号ではなく、テキスト ファイル内の各項目の横に番号を追加することを意味します。これを自動化することは可能ですか、それともファイルを手動で編集して 1、2、3 と入力しておかしくなりますか?」
はい、簡単に行番号をテキスト ファイルにハードコードできます…その方法を正確に説明します!完全に明確にするために、これが行おうとしているのは、テキストの新しい各行の左側にカウント行番号を追加し、各行の前に適切な対応する番号を付けることです。これにより、テキスト ファイルにハード コードされます。つまり、TextWrangler、VIM、BBEdit などのアプリで単に行番号を表示するのとは異なります。
開始するには、ターミナルに移動し、コマンド ライン プロンプトで次の操作を行います:
cat を使用して行番号をテキスト ファイルに追加する
これが最も簡単な方法です: cat -n file > file_new
「file」を行番号を追加したいファイル名に置き換え、「file_name」をエクスポートした名前に変更します。
また、次に説明するように「nl」コマンドを使用することもできます:
nl コマンドを使用してハード コアの行番号をテキスト ファイルに入れる
もう一度、「filename」と「filenamenumbered」を、行番号を追加するファイルの適切な名前に置き換えます。
nl -ba -s ': ' ファイル名 > ファイル名
それだけです!どちらのトリックも使用できます。何人かの読者が、テキスト ファイル内の行番号付けのより簡単な解決策を提供するためにコメントを寄せました。上記は簡単な順にリストされていますが、以下でも「awk」ソリューションを提供します。
-
コマンド ライン ツール「awk」を使用することもできますが、上記の方法よりも少し複雑です。興味がある場合は、ターミナルを起動してください。
まず、テキスト ファイルのバックアップを必ず実行してください 奇妙な出来事 (構文エラーなど) が発生した場合。問題のテキスト ファイルのバックアップを作成したので、そこに直接行番号を書き込んでみましょう:
"awk &39;{printf(%5d : %s\n, NR, $0)}&39; filename > filenamenumbered "
filename は元のファイルであり、filenamenumbered は awk コマンドの出力に行番号を付けて呼び出すものです。出力テキスト ドキュメントでは、各行項目の前に数字とコロンが続きます:
1: 言葉のある行 2: 言葉のある行 3: 言葉のある行
元のテキスト ファイルは変更されていないはずですが、作成したバックアップ ファイルよりも構文エラーが発生した場合は、問題が解決されます。このコマンドは、awk をサポートするすべての Unix OS で機能するため、このコマンドを FreeBSD、Linux、Mac OS X、または思いつく他のバリアントで自由に実行してください。