LoginSignup
0
1

テキストの重複行の削除方法(サクラエディタ、Linux)

Posted at

(自身の備忘録用です)

さくらエディタの場合

  1. ctrl+Aで全選択
     →この時末尾に一行空行追加しておく
    (末尾の行に改行が付与されていないと重複しているとみなされない場合がある)
  2. alt+Aでソート
  3. alt+mで重複行マージ
     →マージされた行数がポップアップメッセージで教えてくれる

Linuxの場合

元ファイルを以下とする

$ cat test.txt
aaa
AAA
bbb
ccc
aaa
AAA
AAA
BBB

uniqするだけだと、行が離れている行がある場合に重複削除してくれない

$ uniq test.txt 
aaa
AAA
bbb
ccc
aaa
AAA
BBB

一度sortしてからuniqすると重複行削除してくれる

$ sort test.txt
AAA
AAA
AAA
BBB
aaa
aaa
bbb
ccc

$ sort test.txt | uniq
AAA
BBB
aaa
bbb
ccc

重複行数を知りたい場合はuniqのオプション-c(--count)で確認可能

$ sort test.txt | uniq -c
   3 AAA
   1 BBB
   2 aaa
   1 bbb
   1 ccc

さらに重複行数でsortしたい場合はさらにパイプで繋いで降順でsort
(もっと上手く書けそうな気もする。。)

$ sort test.txt | uniq -c | sort -gr
   3 AAA
   2 aaa
   1 ccc
   1 bbb
   1 BBB
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1