BASHプログラミング
 Computer >> コンピューター >  >> プログラミング >> BASHプログラミング

Linuxのuniqコマンド–チュートリアルと例

この記事では、 uniqの使用方法について説明します。 Linuxでコマンドを実行して、ファイル内の繰り返し行を検索またはフィルタリングし、いくつかの使用例を示します。

uniq commandは、指定された入力またはファイルの繰り返し行を出力または省略した単純なコマンドです。

uniq コマンド構文

uniqの構文 コマンドは次のとおりです:

uniq OPTIONS INPUT OUTPUT

注:

  • オプション 以下の表のオプションのリストです
  • 入力 読み取るファイルへのパスである必要があります
    • *標準入力*も使用できます
  • 出力 uniqの結果が含まれるファイルである必要があります コマンドが保存されます
    • 提供されていない場合、標準出力 使用されます(デフォルトでは、結果がコンソールに出力されます)

入力ファイルまたは出力ファイルが定義されていない場合は、入力と出力を uniqとの間でリダイレクトできます。 STDINおよびSTDOUTを使用したコマンド–これを行う方法の詳細については、この記事を確認してください。

オプション

次の表に、ユーザーマニュアルで一般的に使用されるオプションを示します。

-c 出現回数で行の前に付ける
-d グループごとに1つずつ、重複する行のみを印刷します
-D 重複するすべての行を印刷する
-i 比較するときに大文字と小文字の違いを無視する
-s 最初のN文字を比較しないでください
-u 一意の行のみを印刷する

uniqの完全なユーザーマニュアルを表示できます 実行によるコマンド:

man uniq

uniqコマンドの例

サンプルファイル

次の例では、次のサンプルファイルを入力として使用します。

movies.txt

Dirty Harry
Dirty Harry
Total Recall
Bride of Frankenstein
Total Recall
Demolition Man

デフォルトの動作–繰り返し行の削除

デフォルトでは、 uniq コマンドは繰り返し行を削除します。

uniq movies.txt

どちらが出力されますか:

Dirty Harry
Total Recall
Bride of Frankenstein
Total Recall
Demolition Man

繰り返し行が削除されることに注意してください。重複していません。隣接する同一の線のみが削除されます。

繰り返し回数の表示

-c オプションは、各行の前に繰り返された回数を追加します:

uniq -c movies.txt

どの出力:

2 Dirty Harry
1 Total Recall
1 Bride of Frankenstein
1 Total Recall
1 Demolition Man

繰り返されていない行のみを表示

-u オプションは、繰り返されていない行のみを表示します:

uniq -u movies.txt

どちらが出力されますか:

Total Recall
Bride of Frankenstein
Total Recall
Demolition Man

繰り返される行のみを表示する

-d オプションは繰り返し行のみを表示します:

uniq -d movies.txt

どちらが出力されますか:

Dirty Harry

繰り返します–繰り返し行が含まれるか除外されることに注意してください。重複しない行。隣接する同一の行のみがuniqによって処理されます コマンド!

結果の保存

コマンドの最後のパラメータとしてファイル名を渡して、結果をそのファイルに保存します。

uniq -d movies.txt duplicated.txt

標準リダイレクトの使用

上記のように、入力ファイルと出力ファイルを uniqに提供する必要はありません。 コマンド。

標準リダイレクトでは、他のコマンドやアプリケーションの出力をuniqに転送できます。その後、独自の出力を別のプログラムやファイルにリダイレクトできます。

cat movies.txt | uniq > output.txt

上記の例では、catコマンドを使用してサンプルファイルを読み取り、その出力を uniqueにパイプします。 指図。次に、uniqコマンドの出力は、>を使用してファイルにリダイレクトされます。 オペレーター。

明らかに、これは入力/出力ファイルへのパスを提供するだけの追加機能を実際には提供しません。それでも、コマンドからの出力を他のコマンドにパイプ/リダイレクトする方法の明確な例です。


  1. ファイルとディレクトリを一覧表示するLinuxのlsコマンド

    ls Linuxのコマンドは、おそらく最初に使用する必要のあるコマンドの1つです。この記事では、コマンドと一般的に使用されるパラメータについて説明します。 私が好むオプションのセットは次のとおりです。 ls -Zaltrh 各オプションを個別に掘り下げて、オプションのグロブ全体が役立つ理由を説明しましょう。 LinuxLSコマンド構文 #ls [OPTION] [FILE] OPTIONS: [-a], do not ignore entries starting with . or .. [-h], with -l, print sizes in human readable form

  2. Linuxでwatchコマンドを使用する方法と例

    Linuxのwatchコマンドは1つのことを行います。コマンドを繰り返し、結果を繰り返し出力して、変更を監視できるようにします。使用方法は次のとおりです。 watchコマンド構文 watchコマンドの構文は次のとおりです。 watch OPTIONS COMMAND 注: オプション 以下の表のオプションのリストである必要があります。これにより、ウォッチのデフォルトの動作が変更されます。 コマンド コマンド 監視するコマンドです 繰り返し実行する必要があります。これは、出力を監視します 見る 中断されるまで実行されます(したがって、 CTRL+Cを押して終了します ) オプション 時