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

初心者向けの例を含むUniqコマンドチュートリアル

主にコマンドラインで作業していて、毎日大量のテキストファイルを処理している場合は、一意のに注意する必要があります。 指図。

Uniqコマンドを使用すると、ファイルから繰り返し行や重複行を簡単に見つけることができます。 Uniqは、重複を見つけるだけでなく、重複を削除したり、重複行の出現回数を表示したり、繰り返し行のみを表示したり、一意の行のみを表示したりするためのものです。

'uniq'コマンドは、隣接していない限り、繰り返される行を検出しないことに注意してください。したがって、最初にそれらをソートするか、sortコマンドをuniqと組み合わせて結果を取得する必要がある場合があります。いくつか例を挙げさせてください。

uniqコマンドはGNUcoreutilsパッケージの一部であるため、ほとんどのLinuxディストリビューションにプリインストールされています。ですから、インストールに煩わされることなく、いくつかの実用的なUniqコマンドの例を見てみましょう。

Uniqコマンドの例

まず、重複する行を含むファイルを作成しましょう。

$ vi ostechnix.txt
welcome to ostechnix
welcome to ostechnix
Linus is the creator of Linux.
Linux is secure by default
Linus is the creator of Linux.
Top 500 super computers are powered by Linux

上記のファイルにあるように、繰り返し行はほとんどありません(1行目、2行目、3行目、5行目は重複しています)。

1。 Uniqコマンドを使用してファイル内の連続する重複行を削除します

引数なしで「uniq」コマンドを使用すると、連続するすべての重複行が削除され、一意の行のみが表示されます。

$ uniq ostechnix.txt

出力例:

ご覧のとおり、uniqコマンドは、指定されたファイル内の連続する重複行をすべて削除しました。上記の出力には、2行目と4行目にまだ重複があることに気付いたかもしれません。これは、uniqコマンドが、隣接している場合にのみ繰り返し行を省略しているためです。もちろん、連続していない重複を削除することもできます。以下の2番目の例を見てください。

2。重複する行をすべて削除します

$ sort ostechnix.txt | uniq

出力例:

見る?重複または繰り返し行はありません。つまり、上記のコマンドは、ファイルostechnix.txtの各行を1回表示します。 。

上記の例では、sortコマンドをuniqと組み合わせて使用​​しました。これは、すでに述べたように、uniqは、隣接していない限り、重複/繰り返し行を検出しないためです。

3。ファイルから一意の行のみを表示する

ファイルの一意の行のみを表示するには、コマンドは次のようになります。

$ sort ostechnix.txt | uniq -u

出力例:

Linux is secure by default
Top 500 super computers are powered by Linux

ご覧のとおり、特定のファイルには2行しかありません。

4。重複する行のみを表示する

同様に、以下のようにファイルから重複行を表示することもできます。

$ sort ostechnix.txt | uniq -d

出力例:

Linus is the creator of Linux.
welcome to ostechnix

これらの2つは、ostechnix.txtファイルの繰り返し/複製された行です。 -dに注意してください (小文字のd)は重複する行のみを印刷しますグループごとに1つすべての重複行を印刷するには 、-Dを使用します (大文字d)以下のように。

$ sort ostechnix.txt | uniq -D

以下のスクリーンショットで両方のフラグの違いを確認してください。

5。ファイル内の各行の出現回数を表示する

何らかの理由で、指定されたファイルで1行が繰り返される回数を確認したい場合があります。これを行うには、 -cを使用します 以下のようなフラグ。

$ sort ostechnix.txt | uniq -c

出力例:

 2 Linus is the creator of Linux.
 1 Linux is secure by default
 1 Top 500 super computers are powered by Linux
 2 welcome to ostechnix

次のコマンドを使用して、各行の出現回数をその行とともに表示し、最も頻繁に使用される順に並べ替えることもできます。

$ sort ostechnix.txt | uniq -c | sort -nr

出力例:

 2 welcome to ostechnix
 2 Linus is the creator of Linux.
 1 Top 500 super computers are powered by Linux
 1 Linux is secure by default

6。比較を「N」文字に制限する

Uniqコマンドを使用すると、 -wを使用して、ファイル内の特定の行数に比較を制限できます。 国旗。たとえば、ファイル内の行の最初の4文字に比較を制限し、以下に示すように繰り返し行を表示します。

$ uniq -d -w 4 ostechnix.txt

7。最初の「N」文字との比較は避けてください

ファイル内のN文字の行との制限比較と同様に、-sを使用して最初のN文字を比較することを回避することもできます。 フラグ。

次のコマンドは、ファイルの最初の4文字との比較を回避します。

$ uniq -d -s 4 ostechnix.txt

文字の代わりに最初のNフィールドを比較しないようにするには、上記のコマンドで「-f」フラグを使用します。

詳細については、ヘルプセクションを参照してください;

$ uniq --help

およびマニュアルページ。

$ man uniq

また読む:

  • 初心者向けの例を含むFoldコマンドチュートリアル

Linux
  1. Linuxは初心者向けのコマンドチュートリアルを展開します(例付き)

  2. 初心者向けのLinuxファクターコマンドチュートリアル(例付き)

  3. 初心者向けのLinuxtacコマンドチュートリアル(例付き)

  1. Linux yes初心者向けコマンドチュートリアル(例付き)

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

  3. 初心者向けの例を含むNumfmtコマンドチュートリアル

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

  2. 初心者向けの例を含むタイプコマンドチュートリアル

  3. 初心者向けの例を含むShufコマンドチュートリアル