1
これは、人がすでに答えているが、適切なスレッドが見つからないというスタックオーバーフローのような感じです。ファイルにn個の重複したエントリを保持する
- ファイルをソートして一意のエントリを保持するツールがあります。
- 重複するエントリのみを保持するようにファイルをソートするツールがあります。
- しかし、重複する値の最初のN番目のエントリを保持し、残りを破棄するように指定する場合はどうすればよいですか?
例えば、下記のリストには、私が最初のフィールドのための重複のN番目数までをプリントアウトできるようにしたいと思います。したがって、たとえば、物事の標準uniq
方法は、(ソートされていないリストで)生成することができ
apple toledo
apple omaha
apple butte
apple freeport
peach saginaw
peach frakenmuth
pears wichita
:ここで元のリストです
apple toledo
peach saginaw
pears wichita
しかし、私はまでを維持したい場合があります2つの重複したエントリ:
apple toledo
apple omaha
peach saginaw
peach frakenmuth
pears wichita
または私は狂った、でも3重複したエントリを感じていたとします。
apple toledo
apple omaha
apple butte
peach saginaw
peach frakenmuth
pears wichita
bashでこれを行うには賢明な方法がありますか?あなたは3または任意の数の2を変更することができます
cat list | awk 'count[$1]++ < 2'
:どの程度
さらに、awkがファイルをうまく読み込むので、猫を完全に取り除くことさえできます。 – grail
@grailあなたが 'cat ...'を書いていて、*ファイルを連結していなければ、おそらく* UUOc *でしょうか? ( 'cat'の不要使用)?より良いawkカウント[$ 1] ++ <2 'file'。 –
@ DavidC.Rankin - 正しい:) – grail