@Applekdz

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

EmEditor、テキストエディタでの重複削除のリスト化蓄積について

お世話になっております。
以下のようなことは出来ますでしょうか?

重複行削除の機能の応用なんですが、まず、済みリストのテキストファイルを作ります。
これは処理済みのリストを追加してデータベースにしていきます。

たとえば、テキストファイルAには、
鈴岡県羽崎市高田40-45-5
鈴岡県羽崎市高田35-58-9

このような過去に処理済みのリストが蓄積されていて

テキストファイルBではテキストファイルAに重複する行のみ削除してくれる機能です。
テキストファイルBでテキストファイルAと同一の行があった場合のみテキストファイルBでは以下の行を削除するという仕組みです。

鈴岡県羽崎市高田35-58-9 →テキストファイルAにも同一行があるのでテキストファイルBでは重複削除する

普通のやり方と違うのは、同一ファイルで重複削除ではなく、別々のファイルで比較対象ファイルを決めて行うことです。
下の行を優先して削除する仕組みなら、テキストファイルAの下に追加して処理するのでも良いかもしれませんが、比較で重複行削除できたら幸いです。

これをマクロで作成してテキストファイルAと比較して重複してる行を削除するというマクロになれば幸いです。

よろしくお願いいたします。

2021年9月6日
回答ありがとうございます。
質問タイトルをわかりやすく変更しました。

この機能は、とてつもない便利さです。
以下のマクロにしておくことは可能でしょうか?
テキストファイルA側のリストは例題事例と違って、数百万行になります。
そこで処理済みのリストを蓄積して、新規に出来たテキストファイルB側で過去に済みとなっているリスト行を除外するのですが、テキストファイルAの選択は固定して、マクロボタンを押すだけで、常にテキストファイルAに蓄積されたリストはテキストファイルB側では除外される仕組みです。

原理的には最初の質問と同じことですが、テキストファイルA側のリストが何十メガとか何百メガとかになるので、その都度読み込んで、終わる度に、ブックマーク化をはずしといたほうがいいのかもしれません。
処理にかかる時間は一瞬ではなくても待ち時間はかかって良い状況です。

住所は架空県に変えておきました。

もし、この希望の動作に難がありました場合は以下の動作でもいいかと思っています。
重複削除は必ず下のほうから優先して削られるという仕組みが確実でしたら、テキストファイルAのほうの一番下に区切り線を付けてテキストファイルBの中身を貼り付けて、それで重複削除のマクロの実行でもいいかと思っています。

鈴岡県羽崎市高田40-45-5
鈴岡県羽崎市高田35-58-9
テキストファイルA側の大量リスト
区切り線★★★★★★★★★★★★★★★★★★★★
この下にテキストファイルBのリストを貼り付ける

鈴岡県羽崎市高田35-58-9 ←消える

これで重複行削除のマクロ
★マークの下の部分のみの行をオール選択→コピーする

別々のファイルのままで削除できたほうが手間が少なくなります。

あるいは、新規機能バージョンアップで重複比較ファイルの選択というだけで済む機能を付けて頂けませんでしょうか?

よろしくお願いいたします。

0 likes

3Answer

以下の手順で可能です。

  1. EmEditorで、まず テキストファイルB を開いて、Ctrl+A、Ctrl+C と押して、すべてのテキストをクリップボードにコピーしておきます。
  2. テキストファイルA を開いて、フィルター ツール バーの [高度なフィルター] ボタンをクリックします。
  3. [高度なフィルター] ダイアログで、一覧をクリックしてから、Ctrl+V と押して、クリップボードの内容を貼り付けます。
  4. 一覧の項目がすべて選択されている状態で、[前の条件との論理和] オプションを設定します。そのほかのオプションは画面図のように選択されていない状態にします。
  5. [ブックマーク] ボタンをクリックして、[閉じる] ボタンをクリックします。
  6. [編集] メニューの [ブックマーク] - [ブックマークされた行を削除] コマンドを選択します。
    advanced-filter.png

今後、ご質問のサンプルには、実在するかもしれない住所は使用せずに、できるだけシンプルに書いてください。

1Like

お願いします。回答を付けた後に、質問内容を変えるのでなく、別のスレッドとして質問してください。

1Like

Comments

  1. @Applekdz

    Questioner

    ありがとうございます。
    もう一度スレットで書きます。よろしくお願いいたします。

Your answer might help someone💌