GNU/Linux >> Linux の 問題 >  >> Linux

初心者向けのLinux通信コマンドチュートリアル(5例)

comm Linuxのコマンドを使用すると、ユーザーは2つのソートされたファイルを1行ずつ比較できます。このチュートリアルでは、わかりやすい例を使用して、このコマンドラインツールについて説明します。ただし、その前に、このチュートリアルで説明されているすべての例がUbuntu16.04LTSでテストされていることに注意してください。

Linux通信コマンド

次の例は、「comm」ツールがどのように機能するかについての良いアイデアを与えるはずです。

1。 commを使用して2つのソートされたファイルを比較する方法

'comm'を使用して2つのソートされたファイルを比較するには、コマンドラインツールに引数としてそれらの名前を渡すだけです。一般的な構文は次のとおりです。

comm [name-of-first-file] [name-of-second-file]

たとえば、この場合、「file1」と「file2」が2つのファイルであるとします。前者には次の行が含まれています:

001
056
127
258

後者には次の行が含まれています:

002
056
167
369

この場合の「comm」コマンドの出力は次のとおりです。

comm file1 file2

したがって、出力が3つの列で構成されていることがわかります。最初の行には「file1」に固有の行が含まれ、2番目の行には「file2」に固有の行が含まれ、最後に3列目には両方のファイルに共通の行が含まれます。

2。 commコマンド出力の個々の列を抑制する方法

必要に応じて、commコマンド出力の個々の列を非表示にすることができます。このために、3つのコマンドラインオプションがあります: -1 -2 、および -3 。ご想像のとおり、これらの数値は抑制したい列を表しています。

たとえば、この場合の3番目の列を抑制するコマンドは次のとおりです。

comm -3 file1 file2

したがって、3番目の列が抑制されていることがわかります。

1つのコマンドで複数の列を抑制できることに注意してください。例:

comm -12 file1 file2

1列目と2列目の両方を抑制します。

3。ソートされていないファイルを通信で比較する方法

ご存知のように、commコマンドはソートされたファイルでのみ機能します。ファイルがソートされていないことが判明した場合、これをユーザーに通知するメッセージが出力に生成されます。たとえば、「file1」の1行目と2行目を入れ替えて、「file2」と比較しました。出力は次のとおりです。

したがって、コマンドが「file1」がソートされていないという出力を生成したことがわかります。これで、入力が並べ替えられているかどうかをツールで確認したくない場合は、 -nocheck-orderを使用できます。 オプション。

comm --nocheck-order file1 file2

そのため、以前に表示されていたメッセージが抑制されたことがわかります。

入力ファイルの並べ替えチェックを実行するようにcommコマンドに明示的に指示する場合に備えて、 -check-orderを使用できることに注意してください。 オプション。

4。カスタム文字列で通信出力列を区切る方法

デフォルトでは、commコマンド出力の列はスペースで区切られています。ただし、必要に応じて、それを変更し、選択した文字列を区切り文字として使用できます。これは、 -output-delimiterを使用して実行できます。 オプション。このオプションでは、区切り文字として使用する文字列を指定する必要があります。

comm --output-delimiter=STR file1 file2

たとえば、区切り文字としてプラス(+)記号を使用しました。

5。通信出力ラインをNULで終了させる方法

commコマンドの出力行は、デフォルトで改行で終了します。ただし、必要に応じて、代わりにNULで終了させることができます。これは、 -zを使用して実行できます コマンドラインオプション。

comm -z file1 file2
結論

commコマンドは、多くの機能を提供していません。ここでは、ほとんどすべてのコマンドラインオプションについて説明しました。したがって、このチュートリアルで説明したことをすべて理解して実践すれば、日常のタスクでツールを使用する準備が整います。疑問や質問がある場合は、コマンドのマニュアルページにアクセスするか、下にコメントを残してください。


Linux
  1. 初心者向けのLinuxcdコマンドチュートリアル(8例)

  2. 初心者向けのLinux日付コマンドチュートリアル(8例)

  3. 初心者向けのLinuxホスト名コマンドチュートリアル(5つの例)

  1. 初心者向けのLinuxdfコマンドチュートリアル(8例)

  2. 初心者向けのLinuxduコマンドチュートリアル(10例)

  3. 初心者向けのLinuxechoコマンドチュートリアル(5つの例)

  1. 初心者向けのLinuxenvコマンドチュートリアル(5つの例)

  2. 初心者向けのLinuxサイズのコマンドチュートリアル(6つの例)

  3. 初心者向けのLinuxkillコマンドチュートリアル(5つの例)