sortコマンドを使用してLinuxでテキストファイルをソートする方法

sortコマンドを使用してLinuxでテキストファイルをソートする方法

Linuxには、テキストファイルの処理に使用できるいくつかのユーティリティが用意されています。重複データを削除する場合でも、ファイル内のコンテンツを並べ替える場合でも、Linuxコマンドラインツールには必要なものがすべて揃っています。





この記事では、sortコマンドと、それを使用してテキストファイル内のコンテンツを並べ替え、それに応じて配置する方法について説明します。





並べ替えコマンドとは何ですか?

上記のように、sortコマンドは、ユーザーがテキストファイルのコンテンツを特定の順序で配置するのに役立ちます。希望に応じてファイルを並べ替えることができるいくつかのオプションが利用可能です。これは、テキストファイルをアルファベット順、数値順、列順など、通常または逆の順序で並べ替えることができる標準のLinuxプログラムです。





このコマンドの他の機能には、並べ替え中の文字の大文字小文字の無視、月ごとのファイルの並べ替え、ファイル内の空白の無視、ランダムな並べ替えなどがあります。並べ替えを使用すると、ファイルが既に並べ替えられているかどうかを確認することもできます。

Linuxでソートを使用する方法

sortには、使用できるいくつかのメソッドとフラグが含まれていますが、習得は簡単です。



基本構文

sortを使用する基本的な構文は次のとおりです。

sort filename

...どこ ファイル名 並べ替えるテキストファイルの絶対パスまたは相対パスです。





デフォルトでは、sortは次の基準に従ってコンテンツを配置します。

  1. 数字で始まる行が最も優先されます。
  2. このコマンドは、数字で始まる行を並べ替えた後、行をアルファベット順に並べ替えます。
  3. 小文字で始まる行は、大文字の同じ文字で始まる行の前にあります。

名前の付いたテキストファイルを考えてみましょう textfile.txt 次の情報が含まれています。





デフォルト設定を使用してファイルをソートするには:

sort textfile.txt

出力:

新しい出力ファイルを作成する

sortコマンドは、ファイルの内容を変更しません。ソートされたコンテンツを標準出力に送信するだけです。ただし、これは、sortが新しいファイルを作成できないことを意味するものではありません。あなたは使用することができます -また ソートされたファイルの名前を指定するフラグとソートは、自動的にファイルを作成し、コンテンツを追加します。

ゲームのための最高の無料の3Dモデリングソフトウェア
sort -o sortedfile filename

...どこ ソートされたファイル は出力ファイルの名前であり、 ファイル名 並べ替えが必要な元のファイルです。

分類する textfile.txt コンテンツの新しい出力ファイルを作成します。

sort -o sorted.txt textfile.txt

出力:

複数のファイルを並べ替える

一度に複数のファイルを並べ替えるには、ファイル名を スペース キャラクター。

sort textfile.txt textfile2.txt

出力:

sortはファイルの出力をマージし、それらをターミナルに一緒に表示することに注意してください。

ファイルの逆ソート

コンテンツの配置を逆にしたい場合は、 -NS デフォルトのコマンドでフラグを立てます。 NS -NS 次のコマンドでは、 逆行する

sort -r textfile.txt

出力:

ファイルを数値で並べ替える

数値データを含むファイルを並べ替えるには、 -NS コマンドでフラグを立てます。デフォルトでは、sortはデータを昇順で並べ替えます。

sort -n numbers.txt

出力:

降順で並べ替える場合は、 -NS オプションと一緒に -NS コマンドのフラグ。

sort -rn numbers.txt

出力:

並べ替え中に大文字と小文字を無視する

デフォルトでは、並べ替えではコンテンツの大文字と小文字が考慮されます。小文字で始まる行は、同じ文字の大文字バージョンで始まる行の前にあります。たとえば、「彼は男の子です」は「彼は男の子です」の前になります。

大文字と小文字を無視してソートする場合は、 -NS または --ignore-case 次のようにフラグを立てます。

sort -f textfile.txt
sort --ignore-case textfile.txt

出力:

月に基づいてファイルを並べ替える

を使用して -NS フラグを使用すると、月の名前に基づいてファイルのコンテンツの順序を変更できます。

sort -M textfile2.txt

出力:

先頭の空白を無視する

並べ替えるファイルにスペースやタブが含まれている場合があります。このような空白文字を無視するには、 -NS 国旗。

sort -b fileblanks.txt

出力:

列に従ってファイルを並べ替える

データが別々の列に配置されたテキストファイルがある場合は、列の内容に従ってファイルを並べ替えることができます。あなたがする必要があるのは、列番号と一緒に渡すことです -に 国旗。

異なる列のファイル情報を含むテキストファイルについて考えてみます。名前の付いたファイルを並べ替えるには output.txt 8列目によると:

誰かがあなたのコンピュータをリモートで見ているかどうかを見分ける方法
sort -k8 -rn output.txt

出力:

他のコマンドとのパイプソート

他のLinuxコマンドでsortを使用して、出力の配置を変更することもできます。たとえば、の出力を並べ替えるには lsコマンド ファイルのサイズに応じて:

ls -la | sort -k5 -rn

出力:

ファイルをランダムに並べ替える

あなたは使用することができます -NS テキストファイルの行の順序をランダム化する場合はフラグを立てます。ファイルを検討してください textfile.txt

sort -R textfile.txt

出力:

ファイル内のバージョン番号を並べ替える

パッケージに関連付けられたバージョン情報を含むテキストファイルがある場合は、を使用してそのコンテンツを並べ替えることができます。 -V また -バージョンソート 国旗。

エアポッドをラップトップウィンドウに接続する方法
sort -V version.txt
sort --version-sort version.txt

出力:

ファイルがソートされているかどうかを確認する

NS -NS フラグは、指定されたオプションに従ってすでにソートされているファイルを識別するのに役立ちます。ファイルの内容が適切にソートされている場合、sortは出力を表示しません。

ファイルかどうかを確認するには textfile.txt ソートされます:

sort -c textfile.txt

それでは、ファイルを並べ替えて、その出力をという名前の新しいファイルに保存しましょう。 ソートされた.txt 。次のコマンドを発行すると:

sort -c sorted.txt

出力:

さまざまなフラグを指定して、特定の基準に従ってファイルの配置を確認することもできます。たとえば、ファイルが numbers.txt 降順でソートされます:

sort -c -rn numbers.txt

ファイルが正しくソートされていないことを示す出力が表示されます。ファイルを並べ替えて、新しいファイルがテストに合格するかどうかを確認しましょう。

sort -o sorted.txt -rn numbers.txt
sort -c -rn sorted.txt

出力:

ファイルを並べ替えて重複を削除する

使用しているファイルに重複データが含まれている可能性があります。使用できますが uniqコマンド このような情報をファイルから削除するために、sortはこのタスクを実行できます。 NS -u また - 個性的 フラグはあなたが必要とするものです。

名前の付いたファイルを考えてみましょう Duplicate.txt

ファイルを並べ替えて、繰り返されるデータを削除するには、次の手順に従います。

sort -u duplicate.txt

出力:

あなたが使用するときあなたはそれを見ることができます -u フラグ、並べ替えは、個別の行のみを表示し、指定された基準に従ってそれらを配置します。

Linuxでのテキストファイルの操作

コマンドラインテキストエディタの能力は比類のないものですが、テキストファイルのコンテンツを簡単に変更するためにgeditなどのグラフィカルエディタを選択することもできます。また、Linuxを初めて使用し、端末を扱うことができない人にとっては、より良い選択です。

コマンドライン、そして一般的にLinuxから始める最良の方法は、最初に基本的なコマンドを練習することです。基本的なユーティリティについて説明した後、より複雑なコマンドに徐々に進むことがおそらく最善のアプローチです。

共有 共有 つぶやき Eメール Linuxコマンドリファレンスのチートシート

この簡単なチートシートは、Linuxコマンドラインターミナルにすぐに慣れるために役立ちます。

次を読む
関連トピック
  • Linux
  • ファイル管理
  • Linux
  • Linuxコマンド
著者について ディーペッシュシャルマ(79件の記事が公開されました)

Deepeshは、MUOのLinuxのジュニアエディターです。彼はLinuxに関する情報ガイドを作成し、すべての新規参入者に至福の体験を提供することを目指しています。映画についてはよくわかりませんが、テクノロジーについて話したいのなら、彼はあなたの男です。余暇には、本を読んだり、さまざまな音楽ジャンルを聴いたり、ギターを弾いたりしています。

DeepeshSharmaのその他の記事

ニュースレターを購読する

ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。

購読するにはここをクリックしてください