私はいつもあなたの助けに感謝します。重複した文字列を含む行の削除
2番目の列に重複した文字列を含む行を削除したいと思います。
658 invert_d2e_q_reg_0_/Qalu_ecl_zlow_e 0.825692
659 invert_d2e_q_reg_0_/Qalu_byp_rd_data_e[31] 0.825692
660 invert_d2e_q_reg_0_/Qalu_byp_rd_data_e[63] 0.825692
661 invert_d2e_q_reg_0_/Qalu_ecl_zhigh_e 0.825692
665 invert_d2e_q_reg_0_/Qalu_byp_rd_data_e[62] 0.825692
678 invert_d2e_q_reg_0_/Qalu_byp_rd_data_e[27] 0.825692
.
.
.
output.txtとtest.txtの
658 invert_d2e_q_reg_0_/Qalu_ecl_zlow_e 0.825692
659 invert_d2e_q_reg_0_/Qalu_byp_rd_data_e[31] 0.825692
660 invert_d2e_q_reg_0_/Qalu_byp_rd_data_e[63] 0.825692
661 invert_d2e_q_reg_0_/Qalu_ecl_zhigh_e 0.825692
665 invert_d2e_q_reg_0_/Qalu_byp_rd_data_e[62] 0.825692
666 invert_d2e_q_reg_0_/Qalu_ecl_zlow_e 0.825692
668 invert_d2e_q_reg_0_/Qalu_ecl_zhigh_e 0.825692
670 invert_d2e_q_reg_0_/Qalu_ecl_zhigh_e 0.825692
673 invert_d2e_q_reg_0_/Qalu_ecl_zlow_e 0.825692
675 invert_d2e_q_reg_0_/Qalu_ecl_zhigh_e 0.825692
677 invert_d2e_q_reg_0_/Qalu_ecl_zhigh_e 0.825692
678 invert_d2e_q_reg_0_/Qalu_byp_rd_data_e[27] 0.825692
679 invert_d2e_q_reg_0_/Qalu_byp_rd_data_e[27] 0.8120
.
.
.
私はsedのは、事前に定義された特定の文字列と行を削除することができます知っているが、私のケースでは、私は文字列が重複している期待することができませんでした。また、複製された文字列は1000以上である可能性があります。
"uniq"を使用してこのジョブを実行しましたが、これは機能しません。 UNIQ -u -f 4 test.txtの (-uは、ユニークな行を表示します。最初の4つの文字をスキップ-f。)
のsed/awkは/ perlのでこれを行うにはどのような方法がありますか?または、私のユニークなセマンティクスを修正してください。
ベスト、
Jaeyoung
'man sort':' -u'オプションを見てください。キーを指定する必要があります。多分 '-k2'です。がんばろう。 – shellter
'uniq'はソートされた入力に作用する必要があります。だから 'sort -k4 | uniq -u -f4' – Will
配列を使った 'awk'はこの素早い作業をすべきです。 –