logo

Linux の uniq コマンドと例

個性的 Linux の command は、ファイル内の繰り返し行をレポートまたはフィルターで除外するコマンド ライン ユーティリティです。簡単に言うと、 個性的 は、隣接する重複行を検出し、重複行を削除するのに役立つツールです。 個性的 入力ファイル (引数として必要) から隣接する一致する行をフィルターで除外し、フィルターされたデータを出力ファイルに書き込みます。

目次



uniqコマンドの構文

` の基本的な構文 uniq`> コマンドは次のとおりです。

uniq [OPTIONS] [INPUT_FILE [OUTPUT_FILE]]>

ここ、

  • `OPTIONS`> : ` の動作を変更するオプションのフラグ uniq`> 指示。
  • `INPUT_FILE`> : テキスト データを含む入力ファイルへのパス。指定しない場合は、` uniq`> 標準入力 (通常はキーボード) から読み取ります。
  • `OUTPUT_FILE`> : 固有の行が書き込まれる出力ファイルへのパス。指定しない場合は、` uniq`> 標準出力 (通常は端末) に書き込みます。

の共通オプション uniq> 指示

` と一緒に使用できる一般的なオプションをいくつか示します。 uniq`> 指示:



Linuxでフォルダーの名前を変更する

オプション

説明

-c、-カウント



入力内の出現数を行の先頭に付け、その後にスペースを置きます。

-d、-繰り返し

入力内で繰り返される行のみを出力します。

-i、-大文字と小文字を区別しない

行を比較するときに大文字と小文字の違いを無視します。

-f、-スキップフィールド=N

各行の最初の N フィールドを比較することは避けてください。

-s、-skip-chars=N

各行の最初の N 文字を比較することは避けてください。

-u、-ユニーク

入力内で一意な行のみを出力します。

`の使用例 uniq`> 指示

次に、例を使用してこれの使用法を理解しましょう。 kt.txt という名前のテキスト ファイルがあり、省略する必要がある行が繰り返し含まれているとします。これはuniqを使えば簡単に実現できます。

//displaying contents of kt.txt//   $cat kt.txt   I love music. I love music. I love music. I love music of Kartik. I love music of Kartik. Thanks.>

「uniq」コマンドを使用して重複行を削除する方法

` から重複行を削除するには kt.txt`> を使用できます。 ` uniq`> 指示:

uniq kt.txt>

重複行を削除する

重複行を削除する

js オンクリック

ご覧のとおり、上記の uniq の例では入力ファイルの名前を使用しただけであり、生成された出力を保存する出力ファイルを使用しなかったため、uniq コマンドはフィルタリングされた出力を標準出力にすべての重複とともに表示しました。行が削除されました。

注: ユニーク は、重複した行が互いに隣接していない限り、それらの行を検出できません。したがって、uniq を使用する前にファイル内のコンテンツをソートする必要があります。あるいは、単純に次のようにすることもできます。 並べ替え -u uniq コマンドの代わりに。

Linux で「uniq」コマンドを使用して重複行を数える方法

` -c`> オプションは、各行の先頭に入力内の出現回数を付加します。

uniq -c kt.txt>
重複行の発生をカウントする

重複行の発生をカウントする

この例では、各行の先頭に繰り返し番号が表示されます。

Linuxで「uniq」コマンドを使用して繰り返し行を表示する方法

` -d`> オプションは重複行のみを出力します。

uniq -d kt.txt>
重複した行のみを表示する

重複した行のみを表示する

Linux で「uniq」コマンドを使用して重複行をすべて表示する方法

` -D`> オプションは、グループごとに 1 行だけではなく、すべての重複行を出力します。

uniq -D kt.txt>
重複する行をすべて印刷します

重複する行をすべて印刷します

Linux で「uniq」コマンドを使用して固有の行を表示する方法

` -u`> オプションは一意の行のみを出力します。

uniq -u kt.txt>

固有の行のみを印刷します

固有の行のみを印刷します

最初の N 個のフィールドをスキップする ( -f> オプション) Linux での「uniq」コマンドの使用

` -f N`> オプションは、行を比較する前に最初の N フィールドをスキップします。番号付きの行に便利です。

uniq -f 2 f1.txt>

//f1.txtの内容を表示//
1. 私は音楽が大好きです。
2. 私は音楽が大好きです。
3. Kartik の音楽が大好きです。
4. Kartik の音楽が大好きです。

`-s N` オプション

`-s N` オプション

この例では、番号付け 1,2.. とドットの後の行を比較する必要があるため、2 が使用されています。

Cのブール値

最初の N 文字をスキップ ( -s> オプション) Linux での「uniq」コマンドの使用

` -s N`> オプションは、各行の最初の N 文字をスキップします。

//f2.txtの内容を表示//
#%@私は音楽が好きです。
^&(私は音楽が大好きです。
*-!@ありがとう。
#%@!ありがとう。

uniq -s 3 f2.txt>

この例では、3 文字をスキップした後の同じ行がフィルタリングされます。

`-s N` オプション

`-s N` オプション

0は10億のうち何個

比較を最初の N 文字に制限する ( -w> オプション) Linux での「uniq」コマンドの使用

-w オプションを使用する場合: 文字をスキップする方法と同様に、比較を設定された文字数に制限するように uniq に要求することもできます。このためには、-w コマンドライン オプションが使用されます。

//f3.txtの内容を表示//
どのようにしてそれが可能でしょうか?
どうすればそれができるのでしょうか?
それの使い方?

uniq -w 3 f3.txt>

3 行すべての最初の 3 文字が同じであるため、uniq はこれらすべてを重複として扱い、それに応じて出力を与えました。

-w オプションの使用

-w オプションの使用

大文字と小文字を区別しない比較 ( -i> オプション) Linux での「uniq」コマンドの使用

` -i`> オプションにより、大文字と小文字が区別されずに比較されます。

//f4.txtの内容を表示//
私は音楽が好きです
私は音楽が好きです
ありがとう

uniq f4.txt>

ここでは、単純に uniq を使用するだけで、行は重複として扱われません。

//現在 -i オプションを使用しています//

uniq -i f4.txt>

-i オプションを使用すると 2 行目が削除されるようになりました。

大文字と小文字を区別しない比較

大文字と小文字を区別しない比較

NULL 終了出力 ( -z> オプション) Linux での「uniq」コマンドの使用

-z オプションを使用する場合: デフォルトでは、uniq が生成する出力は改行で終了します。ただし、必要に応じて、代わりに NULL で終了する出力が必要になります (スクリプトで uniq を扱うときに便利です)。これは、-z コマンド ライン オプションを使用して可能になります。

構文:

uniq -z file-name>

結論

この記事では、uniq>Linux のコマンドは、テキスト ファイル内の重複行を処理するための多用途ツールです。さまざまなオプションを理解することで、テキスト データを効率的に管理および処理できます。さまざまなオプションや例を試して、の使用法をマスターしてください。uniq>指示。

?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L