Linuxシステムでは、テキストの内容が重複して表示されることが避けられません。それはどうですか?次の小シリーズでは、Linuxでuniqコマンドを使用して重複行を削除する方法を紹介します。
は、uniqのは、基本的には私たちが望んでいないものを、テキストの
重複行を
行うために使用されるので、我々は取り除く必要があります。 Linuxには他にも重複する行を削除できるコマンドがありますが、それでもuniqが便利なものだと思います。 uniqを使用するときは、次の2点に注意してください。
1.テキストを処理するときは、重複する行が隣接行でない限りチェックされないため、通常sortコマンドと組み合わせて使用されます。最初に入力をソートしたい場合は、sort -uを使用してください。
2、テキスト操作の場合、フィールドが最初のnull文字(通常はスペースとタブを含む)で、その後null以外の文字の場合、フィールド内の文字の前のnull文字はスキップされます。
次に、uniqパラメータの説明
コードは次のとおりです。
[zhangy @ BlackGhost〜] $ uniq --help
使用法:uniq [オプション]。 。 。 [ファイル]
入力ファイルまたは標準入力から隣接する一致行をフィルタリングして、出力ファイルまたは標準出力に書き込みます。 "/p" "p"は、一致する行が最初に出現したときにマージされるときにオプションを付加しません。 "/p"長いオプション "p"に使用する必要があるパラメータは、短いオプションにも必要です。
-c、--count //各行の前に対応する行の出現回数にプレフィックス番号を追加します。
-d、--repeated //重複行のみを出力します
-D、--all-repeat //重複した行だけをエクスポートしますが、数行を出力する行がいくつかあります。
-f、--skip-fields = N // - f無視されるセグメントの数、-f 1は最初の段落を無視します。
-i、--ignore-case //は大文字と小文字を区別しません。
-s、--skip-chars = N //root-fは少しだけです。 -sは無視されますが、後ろの5文字は無視されます。
-u、--unique //表示されたすべてのroot mysqlの個別の関数を削除します。改行ではなく、
-z、 - ゼロで終了する0バイトの終了行に似ています。
-w、 - check-chars = N //各行のN番目の文字の後内容はチェックされません。
--help //このヘルプを表示して終了します。
--version //バージョン情報を表示して終了します。
3を使用して、テキストファイルuniqtest
のコードを次のようにテストします。
これはテストです。
これはテストです。
これはテストです。タンク
これは試してみるテストです
誰が試してみる
誰が試してみる
あなたが試してみる
私はしたいですAbure
私たちは善人です
私たちは善人です
IV、例の説明
コードは次のとおりです。
[zhangy @ BlackGhost] Mytest] $ uniq -c uniqtest
3これはテストです。
1私はタンクです
2私はタンクが大好きです
1これはテストです//そして最初の行が重複しています
1試してみた人
1誰が試してみました
1あなたは試してみました
1欲しいです海外へ
1私たちは善人です
1私たちは善人です
上記の例から、重複行をチェックするとき、uniqの機能であることがわかります。隣接行のみがチェックされます。データを繰り返してください、隣接していないそれらの多くがなければなりません。
コードは次のとおりです。
[zhangy @ BlackGhost mytest] $ sort uniqtest |
Uniq -c
1誰が試してみました
1私は戦車です
2私は戦車が大好きです
1私は海外に行きたい
4これはテストです。
1それらはいい人です
1私たちはいい人です
1人は試してみます
1あなたは試してみます
これにより、前の例で説明した問題が解決します。
コードは次のとおりです。
[zhangy @ BlackGhost mytest] $ uniq -d -c uniqtest
3これはテストです。
2 i love tank
uniq -dは重複した行しか表示しません。
コードは次のとおりです。
[zhangy @ BlackGhost] Mytest] $ uniq -D uniqtest
これはテストです。
これはテストです。
これはテストです。
私はタンクが大好きです。
<
i love tank
uniq -Dは繰り返し行だけを表示し、繰り返し行を表示します。彼は-cで使用することはできません。
コードは次のとおりです。
[zhangy @ BlackGhost mytest] $ uniq -f 1 -c uniqtest
3これはテストです。
1私は戦車です
2私は戦車が大好きです
1これはテストです。
2あなたは試してみました
1あなたは試してみました
1私は海外に行きたい
2それらは善人です//1行だけ、2行を表示
ここでは1行しかありませんが、表示は繰り返されます、これこれは、-f 1が最初の列を無視し、2番目のフィールドから始まる重複をチェックするためです。
コードは次のとおりです。
[zhangy @ BlackGhost mytest] $ uniq -i -c uniqtest
3これはテストです。
1私は戦車です< Br>
2私はタンクが大好きです。
1これはテストです。 Br>
1私は海外に行きたい
1それらは善人です。
1私たちは善人です。 p>コードは次のとおりです。
[zhangy @ BlackGhost mytest] $ uniq -s 4 -c uniqtest
3これはテストです。
1私は戦車です。
2私はタンクが大好きです。
1これはテストです。
3試した人は誰ですか//ルート上の例との違いは何ですか
1それらは善人です
1私たちは善人です
確認するときは、最初の4文字を考慮しないでください。 。
コードは次のとおりです。
[zhangy @ BlackGhost mytest] $ uniq -u uniqtest
私は戦車です。
これはテストです。
誰が試してみる
誰が試してみる
あなたは試してみる
私は海外に行きたい
それらは善人です
私たちはいい人たちです。
アイテムを繰り返して、それらすべてを表示するには
コードは次のとおりです。
[zhangy @ BlackGhost mytest] $ uniq -w 2 -c uniqtest < Br>
3これはテストです。
3私は戦車です。
1これはテストです
1試してみてください
1あなたは試してみてください
1私は海外に行きたいです
1それらは善人です
1私たちは善人です
各行の後の2番目の文字の内容はチェックされません。したがって、私はタンクルートです。私はタンクが大好きです。
Linux上でuniqコマンドを使用して重複行コマンドを削除する方法上記の方法では、テキスト内の重複行が役に立たないだけでなく、スペースを占有することがあります。
をLinuxシステムにコンパイルしてインストールする方法 monoはNovellによって開発されたクロスプラットフォームの&mid; NETランタイム環境であり、Linuxシステムを含む複数のシステム
コンピュータ中毒は、次を検索を説明するために、以下の実施例により、Linuxシステムにウイルスを見つけるために、findコマンドを使用して、Linuxシステムは、あまり
コンピュータシステムがマルウェアに攻撃されると、個人データが漏洩する危険性がありますセキュリティウイルス対策ソフトウェアを使用する他に、いくつかの必要なセキュリティ対策があります。誰もがLinuxシス
img /isoファイルはイメージファイルですが、Linuxシステムでイメージファイルを作成する必要がある場合があります。以下の小シリーズでは、Linuxで起動可能なimg /isoファイルを作成する