メモ帳++で、重複した行を削除して、1つの行の出現回数だけを残すことは可能ですか?
**メモ帳++でも可能です。ただし、行ごとにソートし、同時に重複した行を削除することが必要です。
TextFXプラグインが必要です。これは古いバージョンのNotepad++に含まれていたものですが、新しいバージョンの場合は、メニューからPlugins -> Plugin Manager -> Show Plugin Manager -> Available tab -> TextFX -> Install
で追加することができます。場合によっては、TextFX Characters
という名前もありますが、これは同じものです
これで、必要なチェックボックスやボタンは、メニューの「TextFX -> TextFX Tools`」に表示されるようになりました。
sort outputs only unique..."がチェックされていることを確認します。次に、テキストブロックを選択します(文書全体を選択する場合は Ctrl+A )。最後に、「大文字小文字を区別して行を並べ替える」または「大文字小文字を区別しないで行を並べ替える」をクリックします。
。
Notepad ++バージョン6 以降、この正規表現を検索で使用し、ダイアログを置き換えることができます。
^(.*?)$\s+?^(?=.*^\1$)
何もない場所。 これにより、すべての重複行からファイル内の最後の出現が残ります。
そのために並べ替えは必要ありません。重複する行はファイル内のどこにでも配置できます。!。
「正規表現」と「」のオプションを確認する必要があります。 改行に一致します」:
^
は行の開始と一致します。
(。*?)
は任意の文字に0回以上一致しますが、可能な限り少なくなります(行で正確に一致します。これは "のために必要です。 newline "オプションと一致します)。 周囲の括 ⁇ があり、「\ 1」を使用してアクセスできるため、一致した行が格納されます。
$
は行の終わりと一致します。
\ s +?^
この部分はすべての空白文字(改行。!)次の行の開始まで==>これにより、一致した行の後に改行が削除されるため、置換後に空の行はありません。
(?=。* ^ \ 1 $)
これは前向きな主張です。 これはこの正規表現の重要な部分です。行は、ファイルの別の場所にまったく同じ行が続く場合にのみ一致(および削除)されます。
行が隣り合っている場合は、正規表現による置換を使用することができます。
検索パターン:^(.*r?˶)(˶‾‾‾‾)+`.
で置き換えてください。\1
メモ帳++。
->ウィンドウを交換します。
検索モードで、[通常の式]ラジオボタンを選択していることを確認します。
何を見つける:。
^(。*)(\ r?\ n \ 1)+ $。
置換:。
$ 1。
前:。
そして私たちはそこで考えます。 。 そして私たちはそこで考えます。 。 単線。 。 可能ですか。 。 可能ですか。
後:。
そして私たちはそこで考えます。 。 単線。 。 可能ですか。
行順を気にしないのであれば(気にしないと思いますが)、Linux/FreeBSD/Mac OS X/Cygwinボックスで、行うことができます。
$ cat yourfile | sort | uniq > yourfile_nodups
その後、Notepad++で再度ファイルを開いてください。
後者のバージョンの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"。
正規表現を検索: \ b(\ w +)\ b([\ w \ W] *)\ b \ 1 \ b
。
$ 1 $ 2
に置き換えます。
ファイルの正規表現に一致しなくなるまで、[置換]ボタンを押します。
誰も私のために働いた。
解決策は次のとおりです。
交換。
^(.*)\s+(\r?\n\1\s+)+$
と。
\1
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」と同じ作業ディレクトリにいるか、そのパスを介して参照する必要があります。