【Linuxコマンド徹底解説】082. Linuxコマンド大全:apt-sortpkgsとsortの詳しい解説と使用例

apt-sortpkgs

Debian Linux でパッケージ インデックス ファイルをソートするツール

追加情報

apt-sortpkgsこのコマンドは、Debian Linux でパッケージ インデックス ファイルを並べ替えるための簡単なツールです。

文法

apt-sortpkgs [选项] [参数]

オプション

  • -s: ソースインデックスフィールドを使用して並べ替えます。
  • -h:ヘルプ情報を表示します。

パラメータ

  • 文件: ソートする debian パッケージ情報を含むインデックス ファイルを指定します。

選別

テキスト ファイル内のすべての行を並べ替えます。

概要

sort [OPTION]... [FILE]...
sort [OPTION]... --files0-from=F

主目的

すべての入力ファイルの内容をソートして出力します。ファイルが無い場合、またはファイルが-の場合は標準入力を読み込みます。

オプション

並べ替えオプション:

  • -b, --ignore-leading-blanks: 先頭の空白を無視します。
  • -d, --dictionary-order: スペース、文字、数字のみが考慮されます。
  • -f, --ignore-case: 小文字を大文字とみなします。
  • -g, --general-numeric-sort: 番号順に並べ替えます。
  • -i, --ignore-nonprinting: 印刷できない文字を除外します。
  • -M, --month-sort: 月以外、1月、12月の順に並べ替えます。
  • -h--human-numeric-sort: ストレージ容量に従って並べ替えます (大文字の使用に注意してください。例: 2K 1G)。
  • -n, --numeric-sort: 番号順に並べ替えます。
  • -R, --random-sort: ランダムに並べ替えますが、同じ行をグループ化します。
  • --random-source=FILE: FILE からランダムな長さのバイトを取得します。
  • -r, --reverse: 結果を逆順に並べます。
  • --sort=WORD: WORD に従ってソートされます。ここで、general-numeric は -g と同等、human-numeric は -h と同等、month は -M と同等、numeric は -n と同等、random は -R と同等、version は同等です。 -Vに。
  • -V--version-sort: テキスト内の (バージョン) 番号の自然な順序。

その他のオプション:

  • --batch-size=NMERGE: 一度に最大 NMERGE 入力をマージし、超過分には一時ファイルを使用します。
  • -c--check--check=diagnose-first: 入力がソートされているかどうかを確認します。この操作ではソートは実行されません。
  • -C--check=quiet--check=silent: -c オプションと似ていますが、ソートされていない最初の行は出力されません。
  • --compress-program=PROG: 一時ファイルを圧縮するには PROG を使用し、解凍するには PROG -d を使用します。
  • --debug: 並べ替え、疑わしい使用法のアラートを標準エラー出力に送信するために使用されるコメント行。
  • --files0-from=F: ファイル F から NUL で終わるすべてのファイル名を読み取ります。F が - の場合は、標準入力から名前を読み取ります。
  • -k, --key=KEYDEF: キーで並べ替えます。KEYDEF は位置とタイプを示します。
  • -m--merge: 並べ替えられたファイルを結合し、並べ替えなくなります。
  • -o, --output=FILE:結果を標準出力ではなくファイルに書き込みます。
  • -s, --stable: 最後の比較を無効にすることでソートを安定させます。
  • -S, --buffer-size=SIZE: SIZE をメモリ キャッシュ サイズとして使用します。
  • -t, --field-separator=SEP: SEP を列区切り文字として使用します。
  • -T, --temporary-directory=DIR: $TMPDIR または /tmp の代わりに DIR を一時ディレクトリとして使用します。複数の一時ディレクトリを指定するには、このオプションを複数回使用します。
  • --parallel=N: 同時実行ソート数を N に変更します。
  • -u, --unique: ソートを厳密にチェックする場合は -c を同時に使用し、ソート後に重複排除結果を出力する場合は -c を同時に使用しないでください。
  • -z, --zero-terminated: 行末文字を改行ではなく NUL (空) に設定します。
  • --help:ヘルプ情報を表示して終了します。
  • --version:バージョン情報を表示して終了します。

KEYDEF の形式は次のとおりです。

F[.C][OPTS][,F[.C][OPTS]]

開始位置から終了位置までを示します。F は列の番号を表し、C は OPTS が [bdfgiMhnRrV] 内の 1 つ以上の文字であることを表します。これは、現在の並べ替えオプションをオーバーライドするために使用されます。–debug オプションを使用して、誤った使用方法を診断します。

SIZE の乗算接尾辞

%:内存的1%;
b:1;
K:1024(默认);
剩余的M, G, T, P, E, Z, Y可以类推出来。

パラメータ

  • FILE(オプション): 処理するファイルの数。任意の数を指定できます。

戻り値

0 が返されると成功を示し、0 以外の値が返されると失敗を示します。

sort はファイル/テキストの各行を単位として比較し、ASCII コードの値を先頭文字から後方に比較し、最終的に昇順に出力するのが比較原理です。

root@[mail text]# cat sort.txt
aaa:10:1.1
ccc:30:3.3
ddd:40:4.4
bbb:20:2.2
eee:50:5.5
eee:50:5.5

[root@mail text]# sort sort.txt
aaa:10:1.1
bbb:20:2.2
ccc:30:3.3
ddd:40:4.4
eee:50:5.5
eee:50:5.5

同一の行を無視するには、-u オプションまたは uniq を使用します。

[root@mail text]# cat sort.txt
aaa:10:1.1
ccc:30:3.3
ddd:40:4.4
bbb:20:2.2
eee:50:5.5
eee:50:5.5

[root@mail text]# sort -u sort.txt
aaa:10:1.1
bbb:20:2.2
ccc:30:3.3
ddd:40:4.4
eee:50:5.5

[root@mail text]# uniq sort.txt
aaa:10:1.1
ccc:30:3.3
ddd:40:4.4
bbb:20:2.2
eee:50:5.5

ソートの -n、-r、-k、-t オプションの使用:

[root@mail text]# cat sort.txt
AAA:BB:CC
aaa:30:1.6
ccc:50:3.3
ddd:20:4.2
bbb:10:2.5
eee:40:5.4
eee:60:5.1

# 将BB列按照数字从小到大顺序排列:
[root@mail text]# sort -nk 2 -t: sort.txt
AAA:BB:CC
bbb:10:2.5
ddd:20:4.2
aaa:30:1.6
eee:40:5.4
ccc:50:3.3
eee:60:5.1

# 将CC列数字从大到小顺序排列:
# -n是按照数字大小排序,-r是以相反顺序,-k是指定需要排序的栏位,-t指定栏位分隔符为冒号
[root@mail text]# sort -nrk 3 -t: sort.txt
eee:40:5.4
eee:60:5.1
ddd:20:4.2
ccc:50:3.3
bbb:10:2.5
aaa:30:1.6
AAA:BB:CC

-k オプションの解釈と例:

-k オプションの詳細な説明:

FStart.CStart Modifier,FEnd.CEnd Modifier
-------Start--------,-------End--------
 FStart.CStart 选项  ,  FEnd.CEnd 选项

この構文形式は、カンマによって開始部分と終了部分の 2 つの部分に分けることができます。Start 部分は 3 つの部分から構成されます. Modifier 部分は前述のオプション部分です; Start 部分の FStart と C.Start に注目します; C.Start は省略可能です. 省略した場合は先頭から開始することを意味しますこのドメインのパートが始まります。FStart.CStart。ここで、FStart は使用されるフィールドを表し、CStart は FStart フィールドの文字から始まる並べ替えの最初の文字を表します。同様に、End セクションでは、FEnd.CEnd を設定できます。.CEnd を省略するか、0 に設定すると、このフィールドの最後の文字で終了することを意味します。

例: 会社名の英語名の 2 文字目から並べ替えます。

$ sort -t ' ' -k 1.2 facebook.txt
baidu 100 5000
sohu 100 4500
google 110 5000
guge 50 3000

解釈: -k 1.2 が使用されます。これは、最初のフィールドの 2 番目の文字からこのフィールドの最後の文字まで文字列を並べ替えることを意味します。2 番目の文字が a であるため、baidu がリストの一番上にあることがわかります。sohu と google の 2 番目の文字は両方とも o ですが、sohu の h が google の o より前に来るため、それぞれ 2 番目と 3 番目にランクされます。グーゲは4位までしかランク付けできない。

例: 会社名の英語名の 2 文字目のみでソートする場合は、従業員の給与で降順にソートします。

$ sort -t ' ' -k 1.2,1.2 -nrk 3,3 facebook.txt
baidu 100 5000
google 110 5000
sohu 100 4500
guge 50 3000

解釈: 2 番目の文字だけがソートされるため、2 番目の文字だけをソートすることを意味する式を使用します(なぜ機能しないのかと聞かれたら? もちろん機能しません。End の部分を省略しているためです-k 1.2,1.2) -k 1.2、これは、フィールドの 2 番目の文字から最後の文字まで文字列を並べ替えることを意味します)。従業員の給与を並べ替えるには、 this も使用します-k 3,3。これは、次の 3 つを省略すると、3 番目のフィールドから最後のフィールドまでを開始することになるため、このフィールドのみを並べ替えることを意味する最も正確な表現です。場所のソートが行われます。

ゼロから学ぶpython

[Pythonをゼロから学ぶ] 92. Pythonのリクエストライブラリを使用してHTTPリクエストを送信し、応答を処理する
[Pythonをゼロから学ぶ] 91. デコレータと辞書を使用して単純なWebアプリケーションでリクエストパスを管理する
[Pythonをゼロから学ぶ] 93. 辞書を使用する管理 リクエストパス
【ゼロから学ぶPython】 89. WSGIを使ってシンプルで効率的なWebサーバーを構築する
【ゼロから学ぶPython】 88. WSGIインターフェースの詳細解説:シンプルで効率的なWeb開発を実現する
【ゼロから学ぶPython】 87. 手動PythonでHTTPサーバーを構築する 実装とマルチスレッド同時処理
【Pythonをゼロから学ぶ】 86. HTTPプロトコルとブラウザとサーバー通信におけるその役割を深く理解する
【Pythonをゼロから学ぶ】 85. 並列コンピューティング技術の応用Pythonのプロセスプールで
【Pythonをゼロから学ぶ】】 84. スレッドとプロセスを深く理解する
【Pythonをゼロから学ぶ】 83. Pythonのマルチプロセスプログラミングとプロセスプールの利用
【Pythonをゼロから学ぶ】 82. チャットプログラムマルチスレッドに基づく実装
[ゼロから学ぶ Python] 81. Python の詳細 スレッド通信とキューの応用
[ゼロから学ぶ Python] 80. グローバル変数へのスレッド アクセスとスレッド セーフティの問題
[ゼロから学ぶ Python] 79. スレッド アクセスグローバル変数とスレッドセーフティの問題
[Pythonをゼロから学ぶ] 78. ファイルダウンロード事例
[Pythonをゼロから学ぶ] 77. TCPサーバーのプログラミングと注意事項
[Pythonをゼロから学ぶ] 76. サーバーとクライアント: ネットワーク通信の主要コンポーネント
[Pythonを学ぶ] 75. TCPプロトコル:信頼性の高いコネクション指向の伝送層通信プロトコル
【ゼロから学ぶPython】 74. UDPネットワークプログラム:ポートの問題とバインディング情報を詳しく解説
【ゼロから学ぶPython】 73. UDPネットワークプログラム – データの送信
【ゼロから学ぶPython】 72. ソケット通信とソケットの作成方法
【ゼロから学ぶPython】 71. ネットワークポートとその機能
【ゼロから学ぶPython】 70. ネットワークの通信方式とその応用:ルータへの直接通信から複数のネットワーク接続まで
【ゼロから学ぶPython】 69. ネットワーク通信とIPアドレス分類分析
[Pythonをゼロから学ぶ] 68. Python正規表現の貪欲モードと非貪欲モード
[Pythonをゼロから学ぶ] 67. Pythonのreモジュール: 正規置換と高度なマッチング技術
[Pythonをゼロから学ぶ] 66 .正規表現を深く理解する:パターンマッチングとテキスト処理のための強力なツール
【Pythonをゼロから学ぶ】 65. Pythonの正規表現修飾子とその応用を詳しく解説
【Pythonをゼロから学ぶ】 64. re.compileメソッドPython正規表現で使い方を詳しく解説
【ゼロから学ぶPython】 63. 正規表現におけるre.Matchクラスとその属性・メソッドの紹介
【ゼロから学ぶPython】 62. Python正規表現:強力な文字列マッチングツール
【学ぶ】ゼロから学ぶPython】 61. Pythonのプロパティ属性の詳しい解説と応用例
【ゼロから学ぶPython】 60. Exploration Generator:反復のための柔軟なツール
【ゼロから学ぶPython】 59. Iterator:データトラバーサルを最適化するための効率的なツール
【 Pythonをゼロから学ぶ】58. Pythonのカスタム例外と例外の発生方法
【ゼロから学ぶPython】 57. Pythonでwithキーワードを使ってリソースを正しく閉じる
【ゼロから学ぶPython】 56. プログラミングにおける例外処理の重要性と応用
【ゼロから学ぶPython】 55. Pythonのシリアライズとサム デシリアライズ、 JSONとpickleモジュールの応用
【ゼロから学ぶPython】 54. メモリへのデータの書き込み
【ゼロから学ぶPython】 53. CSVファイルとPythonのCSVモジュール
【ゼロから学ぶPython】 52. ファイルの読み書き - Pythonファイル操作ガイド
[ Pythonをゼロから学ぶ】 51. Pythonでファイルとそのア​​プリケーションを開く・閉じる
【Pythonをゼロから学ぶ】 49. Pythonのオブジェクト関連の組み込み関数とその使い方
【Pythonをゼロから学ぶ】 48. 継承と多重化について詳しく解説Python の継承
[Python をゼ​​ロから学ぶ] 47. オブジェクト指向プログラミングにおける継承の概念と基本的な使用法
[Python をゼ​​ロから学ぶ] 46. Python デザイン パターンの __new__ および __init__ メソッドとシングルトンの分析
[Python をゼ​​ロから学ぶ] 45 . Pythonのクラスメソッドと静的メソッド
【ゼロから学ぶPython】 44. オブジェクト指向プログラミングのプライベートプロパティとメソッド
【ゼロから学ぶPython】 43. Pythonのオブジェクト指向プログラミングの例 プロパティとクラス属性
【ゼロから学ぶPython】 42. Pythonの組み込みプロパティとメソッド
【ゼロから学ぶPython】 41. Pythonの魔法のメソッド(2)
【ゼロから学ぶPython】 40. Pythonの魔法のメソッド(1)
【ゼロから学ぶPython】 39. オブジェクト指向の基本構文と応用例
【ゼロから学ぶPython】 38. Pythonパッケージの使い方とインポート方法
【ゼロから学ぶPython】 37. Pythonカスタムモジュールの使い方と注意点
【ゼロから学ぶPython】 Python をゼ​​ロから学ぶ】 36. Python でサードパーティのパッケージ管理に pip を使用する方法とテクニック
【Python をゼ​​ロから学ぶ】 35. Python の一般的なシステム モジュールとその使い方
【Python をゼ​​ロから学ぶ】 34. インポートの詳細説明Pythonモジュールの使い方と使い方
【ゼロからPythonを学ぶ】 33. デコレータの役割(2)
【ゼロからPythonを学ぶ】 32. デコレータの役割(1)
【ゼロからPythonを学ぶ】 31. 上位概念を深く理解するPythonの順序関数とクロージャ
【Pythonをゼロから学ぶ】30. 再帰関数と無名関数を深く理解する
【Pythonをゼロから学ぶ】29. 「関数パラメータの詳細解説」 - Python関数パラメータのさまざまな使い方を理解する
【 Pythonをゼロから学ぶ】28. Python変数のローカル変数とグローバル変数
【Pythonをゼロから学ぶ】 27. Pythonの関数と入れ子呼び出しの使い方
【Pythonをゼロから学ぶ】 25. 関数:コード作成を効率化するツール
【ゼロから学ぶPython】 24. Pythonの文字列操作とトラバーサルメソッド
【ゼロから学ぶPython】 23. Pythonのセット(set)の使い方とよく使う操作
【ゼロから学ぶPython】 22. 追加、削除、変更、 Pythonで辞書変数をクエリする
[Pythonをゼロから学ぶ] 21. Pythonのタプルと辞書
【ゼロから学ぶPython】 20. Pythonのリスト操作スキルと例題
【ゼロから学ぶPython】 19. リストのループとリストのネストの応用
【ゼロから学ぶPython】 18. Pythonのリストの基本操作を詳しく解説(1)
【ゼロから学ぶPythonより】 17. Pythonの文字列のフォーマット方法(2)
【ゼロから学ぶPython】 16. Pythonの文字列のフォーマット方法(1)
【ゼロから学ぶPython】 15. 文字列と文字列を深く理解する文字セットエンコーディング
【ゼロから学ぶPythonから】14. Pythonの文字列に対するよくある操作(2)
【ゼロから学ぶPython】13. Pythonの文字列に対する共通の操作(1)
【ゼロから学ぶPython】12. Pythonの文字列の操作と応用
【 Pythonをゼロから学ぶ】 11. Pythonのループ文と制御フロー
【Pythonをゼロから学ぶ】 10. Pythonの条件文とifの入れ子を詳しく解説
【Pythonをゼロから学ぶ】 09. Pythonの条件判定文
【Pythonをゼロから学ぶ】 08 . Pythonでわかるビット演算子、演算子の優先順位
【ゼロから学ぶPython】 07. Pythonの演算子:代入演算子、比較演算子、論理演算子を詳しく解説 【ゼロ
から学ぶPython】 06. Pythonで算術演算子を使って計算や文字列の連結をする 【ゼロ
から学ぶPython】スクラッチ] Python ] 05. Python の出力と入力
【ゼロから学ぶ Python】 04. Python プログラミングの基礎: 変数、データ型、識別子
【ゼロから学ぶ Python】 03. Python 対話型プログラミングとコメントの詳細説明
【Pythonをゼロから学ぶ】 02. 開発ツールの紹介
【Pythonをゼロから学ぶ】 01. Pythonのインストールと設定

おすすめ

転載: blog.csdn.net/qq_33681891/article/details/132753067
おすすめ