7興味深いLinuxの「sort」コマンドの例-パート2


前回の記事では、並べ替えコマンドのさまざまな例について説明しました。見逃した場合は、以下のリンクを使用して実行できます。前回の投稿に続き、この投稿は、残りのsortコマンドについて説明し、両方の記事がLinuxの「sort」コマンドの完全なガイドとして機能するようにすることを目的としています。

  1. 14 ‘sort’ Command Examples in Linux

先に進む前に、テキストファイル「month.txt」を作成し、以下のようにデータを入力します。

$ echo -e "mar\ndec\noct\nsep\nfeb\naug" > month.txt
$ cat month.txt

15.スイッチ「M」(– month-sort)を使用して、月の順序に基づいてファイル「month.txt」を並べ替えます。

$ sort -M month.txt

重要:「sort」コマンドでは、月の名前を考慮するために少なくとも3文字が必要であることに注意してください。

16. 1K、2M、3G、2Tなど、人間が読める形式のデータを並べ替えます。ここで、K、M、G、Tはキロ、メガ、ギガ、テラを表します。

$ ls -l /home/$USER | sort -h -k5

17.前回の記事では、例番号4のファイル「sorted.txt」と例番号6の別のテキストファイル「lsl.txt」を作成しました。「sorted.txt」はすでにソートされていますが、「lsl.txt」はすでにソートされています。ではありません。 sortコマンドを使用して、両方のファイルがソートされているかどうかを確認しましょう。

$ sort -c sorted.txt

0が返される場合は、ファイルがソートされており、競合がないことを意味します。

$ sort -c lsl.txt

障害を報告します。競合..

18.単語間の区切り文字(区切り文字)がスペースの場合、sortコマンドは、水平方向のスペースの後のすべてを新しい単語として自動的に解釈します。区切り文字がスペースでない場合はどうなりますか?

内容が「|」、「\」、「+」、「。」、…などのスペース以外で区切られているテキストファイルについて考えてみます。

内容が+で区切られたテキストファイルを作成します。 「cat」を使用してファイルの内容を確認します。

$ echo -e "21+linux+server+production\n11+debian+RedHat+CentOS\n131+Apache+Mysql+PHP\n7+Shell Scripting+python+perl\n111+postfix+exim+sendmail" > delimiter.txt
$ cat delimiter.txt

次に、数値である1番目のフィールドに基づいてこのファイルを並べ替えます。

$ sort -t '+' -nk1 delimiter.txt

そして、非数値である4番目のフィールドに基づいて2番目。

区切り文字がTabの場合、上記の例に示すように、「+」の代わりに「$」を使用できます。

19.「データ量」をランダムな順序で表す5番目の列に基づいて、ホームディレクトリの「ls-l」コマンドの内容を並べ替えます。

$ ls -l /home/avi/ | sort -k5 -R 

上記のスクリプトを実行するたびに、結果がランダムに生成されるため、異なる結果が得られる可能性があります。

前回の記事のルール番号– 2から明らかなように、sortコマンドは、大文字よりも小文字で始まる行を優先します。また、前回の記事の例3を確認してください。ここでは、文字列「laptop」が文字列「LAPTOP」の前に表示されています。

20.デフォルトの並べ替え設定を上書きするにはどうすればよいですか?デフォルトの並べ替え設定をオーバーライドする前に、環境変数LC_ALLをcにエクスポートする必要があります。これを行うには、コマンドラインプロンプトで以下のコードを実行します。

$ export LC_ALL=C

次に、テキストファイル「tecmint.txt」を並べ替えて、デフォルトの並べ替え設定を上書きします。

$ sort tecmint.txt

出力を例3で達成したものと比較することを忘れないでください。また、オプション「-f」、別名「–ignore-case」を使用して、多くの整理された出力を取得できます。

$ sort -f tecmint.txt

21. 2つの入力ファイルで「ソート」を実行し、それらを一度に結合するのはどうですか。

「file1.txt」と「file2.txt」という2つのテキストファイルを作成し、データを入力してみましょう。ここでは、「file1.txt」に次のような番号を入力しています。また、「cat」コマンドを使用してファイルの内容を確認しました。

$ echo -e “5 Reliable\n2 Fast\n3 Secure\n1 open-source\n4 customizable” > file1.txt
$ cat file1.txt

そして、2番目のファイル「file2.txt」にいくつかのデータをとして入力します。

$ echo -e “3 RedHat\n1 Debian\n5 Ubuntu\n2 Kali\n4 Fedora” > file2.txt
$ cat file2.txt

次に、両方のファイルの出力を並べ替えて結合します。

$ join <(sort -n file1.txt) <(sort file2.txt)

それは今のところすべてです。接続を維持します。 Tecmintに保管してください。以下のコメントで貴重なフィードバックをお寄せください。私たちを好きにして共有し、私たちが広がるのを手伝ってください