リナックスのsortコマンドの詳細
sortコマンドはLinuxシステムで非常によく使われるコマンドで、テキストファイルをソートするために使用されます。sortコマンドには多くの異なるオプションがあり、以下にsortコマンドのいくつかの一般的なオプションを説明します。
- -b:各行の先頭の空白文字を無視して並べ替えます。
- 辞書順にテキストを並べ替え、非アルファベットの文字を無視します。
- -f: 大文字と小文字を無視して並べ替えます。
- g:通常の数値形式で並べ替える(たとえば、10は2の後ろに並びますが、前には並びません)。
- -n: 数値の形で並べ替える。
- -r:ソートを逆順(降順)で実行します。
- – “-t” オプション:ソートする際のフィールドの区切り文字を指定し、デフォルトはタブです。
- -k<始点のフィールド>[,<終了点のフィールド>]:ソートする必要のあるフィールド範囲を指定します。
- -u: 重複した行を削除する。
- – <出力ファイル>:指定されたファイルにソート結果を出力します。
sortコマンドを使用してソートする基本的な構文は次のとおりです:
sort [オプション] [ファイル名]
例えば、テキストファイルを辞書順に並べ替えて結果を別のファイルに出力するには、以下のコマンドを使用できます:
sort -d input.txt -o output.txt
input.txt ファイルの内容を辞書順に並べ替えて、output.txt ファイルに出力します。
sortコマンドはデフォルトで全てのテキスト行をソートのキー値として扱うため、特定のフィールドでソートする場合は、-kオプションを使用してフィールドの範囲を指定する必要があります。例えば、タブで区切られたテキストファイルを第二フィールドの辞書順でソートしたい場合は、以下のコマンドを使用します:
sort -t$‘\t’ -k2 input.txt -o output.txt
input.txtファイルの内容を、2番目のフィールドの辞書順に並べ替えてoutput.txtに出力します。