Notepad++で重複した行を削除する。

メモ帳++で、重複した行を削除して、1つの行の出現回数だけを残すことは可能ですか?

ソリューション

**メモ帳++でも可能です。ただし、行ごとにソートし、同時に重複した行を削除することが必要です。

TextFXプラグインが必要です。これは古いバージョンのNotepad++に含まれていたものですが、新しいバージョンの場合は、メニューからPlugins -> Plugin Manager -> Show Plugin Manager -> Available tab -> TextFX -> Installで追加することができます。場合によっては、TextFX Charactersという名前もありますが、これは同じものです

これで、必要なチェックボックスやボタンは、メニューの「TextFX -> TextFX Tools`」に表示されるようになりました。

sort outputs only unique..."がチェックされていることを確認します。次に、テキストブロックを選択します(文書全体を選択する場合は Ctrl+A )。最後に、「大文字小文字を区別して行を並べ替える」または「大文字小文字を区別しないで行を並べ替える」をクリックします。

解説 (14)

Notepad ++バージョン6 以降、この正規表現を検索で使用し、ダイアログを置き換えることができます。

^(.*?)$\s+?^(?=.*^\1$)

何もない場所。 これにより、すべての重複行からファイル内の最後の出現が残ります。

そのために並べ替えは必要ありません。重複する行はファイル内のどこにでも配置できます。!

「正規表現」と「」のオプションを確認する必要があります。 改行に一致します」:

メモ帳++ダイアログを置き換える。!

  • ^は行の開始と一致します。

  • (。*?)は任意の文字に0回以上一致しますが、可能な限り少なくなります(行で正確に一致します。これは "のために必要です。 newline "オプションと一致します)。 周囲の括 ⁇ があり、「\ 1」を使用してアクセスできるため、一致した行が格納されます。

  • $は行の終わりと一致します。

  • \ s +?^この部分はすべての空白文字(改行。!)次の行の開始まで==>これにより、一致した行の後に改行が削除されるため、置換後に空の行はありません。

  • (?=。* ^ \ 1 $)これは前向きな主張です。 これはこの正規表現の重要な部分です。行は、ファイルの別の場所にまったく同じ行が続く場合にのみ一致(および削除)されます。

解説 (16)

行が隣り合っている場合は、正規表現による置換を使用することができます。

検索パターン:^(.*r?˶)(˶‾‾‾‾)+`.

で置き換えてください。\1

解説 (6)

メモ帳++

->ウィンドウを交換します。

検索モードで、[通常の式]ラジオボタンを選択していることを確認します。

何を見つける:

^(。*)(\ r?\ n \ 1)+ $。

置換:

$ 1。

前:

そして私たちはそこで考えます。 。 そして私たちはそこで考えます。 。 単線。 。 可能ですか。 。 可能ですか。

後:

そして私たちはそこで考えます。 。 単線。 。 可能ですか。

解説 (2)

行順を気にしないのであれば(気にしないと思いますが)、Linux/FreeBSD/Mac OS X/Cygwinボックスで、行うことができます。

$ cat yourfile | sort | uniq > yourfile_nodups

その後、Notepad++で再度ファイルを開いてください。

解説 (6)

後者のバージョンのNotepad ++には、TextFXプラグインがまったく含まれていないようです。 重複の並べ替え/消去にプラグインを使用するには、プラグインをダウンロードしてインストールするか(さらに複雑)、プラグインマネージャーを使用して追加する必要があります。

A)簡単な方法([ここ][1]で説明)。

プラグイン->プラグインマネージャー->プラグインマネージャーを表示->利用可能なタブ-> TextFX文字->インストール。

B)別のバージョンが必要な場合、または簡単な方法が機能しない場合、より複雑な方法。

1。 SourceForgeからプラグインをダウンロード:

http://downloads.sourceforge.net/project/npp-plugins/TextFX/TextFX%20v0.26/TextFX.v0.26.unicode.bin.zip。

2。 zipファイルを開き、 NppTextFX.dll を抽出します。 3。 NppTextFX.dll をNotepad ++プラグインディレクトリに配置します(例:
)。 C:\ Program Files \ Notepad ++ \ plugins。

4。 Notepad ++を起動すると、TextFXはファイルメニュー項目の1つになります(上記のColin Pickardの回答#1を参照)。

TextFXプラグインをインストールした後、回答#1の指示に従って、重複を並べ替え、削除します。

また、設定>を使用してキーボードショートカットを設定することを検討してください。ショーカットマッパーこのコマンドを頻繁に使用する場合、または並べ替えのためにTextPadのF9などのキーボードショートカットを複製する場合。

[1]:https://stackoverflow.com/questions/12699833/textfx-menu-is-missing-in-notepad "here"。

解説 (1)

これを行うにはプラグインが必要になる場合があります。 ConyEditのコマンドライン cc.ddl(重複行を削除)を試すことができます。 これは、Notepad ++を含むテキストエディター用のクロスエディタープラグインです。

ConyEditがバックグラウンドで実行されている場合は、以下の手順に従ってください。

1。 テキストの最後にコマンドライン cc.ddlを入力します。 2。 テキストとコマンドラインをコピーします。 3。 ペーストすると、必要なものが表示されます。

。![ここに画像の説明を入力してください](https://i.stack.imgur.com/EtPOM.gif。)

解説 (0)

正規表現を検索: \ b(\ w +)\ b([\ w \ W] *)\ b \ 1 \ b

$ 1 $ 2に置き換えます。

ファイルの正規表現に一致しなくなるまで、[置換]ボタンを押します。

解説 (4)

誰も私のために働いた。

解決策は次のとおりです。

交換。

^(.*)\s+(\r?\n\1\s+)+$

と。

\1
解説 (7)

Notepad ++では、プラグインマネージャーは現在利用できません(ディストリビューションには付属していません)。 手動でインストールする必要があります(https://github.com/bruderstein/nppPluginManager/releases)。インストールしても、多くのプラグインが利用できなくなります(TextFXはありません)。

必要な機能を含む別のプラグインがあるかもしれません。 それ以外に、Notepad ++でそれを行う唯一の方法は、特別な regex を使用して照合し、置換することです( Ctrl< / kbd> + F< / kbd> & rarr; 置換タブ)。

編集メニュー項目(トリミング、空の行の削除、並べ替え、EOLの変換)を介して利用できる多くの機能がありますが、「独自の」操作はありません。

Windows 10を使用している場合は、 Bash を有効にして(Microsoft StoreでUbuntuと入力し、説明の指示に従ってインストールしてください)、 cat your_file.txtを使用できます。ソート| uniq> your_file_edited.txt。 もちろん、「your_file.txt」と同じ作業ディレクトリにいるか、そのパスを介して参照する必要があります。

解説 (0)

バージョン7.8では、プラグインなしでこれを実行できます-編集->行操作->連続複製行を削除します。 これが機能する前に、ファイルを並べ替えて重複する行を連続順序で配置する必要がありますが、チャームのように機能します。

解説 (0)