Notepad ++のすべての行の最後に数字を追加するにはどうすればよいですか?


37

23,000行ありますが、各行1の最後に番号を追加する必要があります。

これどうやってするの?

たった今:

[line1]TEXT
[line2]TEXT

私が望むもの:

[line1]TEXT1
[line2]TEXT1

2
もっと面白い; 連番に連番をどのように割り当てますか?:
カールウィトフト

1
@CarlWitthoft TextFXパッケージで行に番号を付け(TextFx> TextFxツール>行番号を挿入)、正規表現を使用して行番号をEOLに移動します。
DavidPostill

2
2つのテキスト行の間に空の行がある場合、その行も1を取得する必要がありますか?
Nzall

4
:%s/$/1/。ああ、それはVimです。;-)(どちらであるだけでなくWindowsのために利用できる。)
DevSolar

1
@DevSolarまた、:g/$/norm A1。または、より複雑ですが、手の込んだgg$<C-v>G$A1<esc>。または明らかに不快なggqqqqqA1<esc>j@qq@q。複数の方法:P
ドアノブ

回答:


28

Notepad ++のすべての行の最後に数字を追加するにはどうすればよいですか?

  • メニュー[検索]> [置換](またはCtrl+ H

  • 「検索対象」を設定します \r\n

  • 「置換」を設定します 1\r\n

  • 「正規表現」または「拡張」を有効にします

    注-「正規表現」は「拡張」のスーパーセットであるため、この特定のケースでは、どちらを使用してもかまいません。

  • [すべて置換]をクリックします

ここに画像の説明を入力してください

ノート:

  • 上記は、Windows EOLでテキストファイルを編集していることを前提としています\r\n

  • EOLが異なるファイルを使用している場合は、メニューの[編集]> [EOL変換]を使用してWindows EOLに変換できます。

  • Windows EOLを使用しておらず、変換したくない場合は、代わりに次を使用します。

    • Unix / OS X EOLの\n代わりに使用し\r\nます( "Find what"は\n、 "Replace with"は1\n

    • 使用\rの代わりに、\r\nマックOS(バージョンアップ〜9)のEOL(ある「何検索」のために\r、ある「と交換してください」1\r


参考文献


これは、行区切り文字がウィンドウ、\ r \ nの場合にのみ機能します。
ザヘイル

4
はい、ただしNotepad ++はWindowsプログラムです...;)
DavidPostill

5
ああ、あなたは正しい... :)それでも、テキストファイルには他の行末コーディングが含まれる可能性があります;)
Zaheylu

5
Windows EOLを使用していない場合は、それらを「変換」する理由はありません... \nまたは、\r代わりに(UnixおよびMac EOL)を使用してください。\n=> 1\nまたは\r=> 1\r。私は個人的に正規表現の代わりにExtendedでこの種のことをより頻繁に行います。
WernerCD

2
@WernerCDシングル\rは、機能しないMac OSにのみ適用されることに注意してください。を使用するOS Xではありません\n
ボブ

19

別のオプションは、記録および再生機能です。

  1. 最初の行にカーソルを置いて、[記録の開始]をクリックします。
  2. タイプEnd1
  3. 「記録の停止」をクリックします
  4. 「マクロを複数回実行...」をクリックします
  5. 「ファイルの最後まで実行する」を選択し、「実行」をクリックします
  6. 仕事完了

スクリーンショット

記録と再生

タイプEnd1

停止をクリックします

マクロを実行

ここに画像の説明を入力してください

完了


9
Notepad ++マクロは十分な愛を得ることはありません。
アルマーニ

15

更新された回答:

ヒットCtrl+ H置換]ダイアログを開きます。

検索モードで、正規表現にチェックマークを付けます。

Find what: $

Replace with: 1

そしてヒット Replace all


元の答え

ヒットCtrl+ H置換]ダイアログを開きます。

検索モードで、にチェックマークを付けRegular Expressionます。

何を見つける: ^.*$

と置換する ($0)1

そしてヒット Replace all

説明

^.*$本質的にすべての行である正規表現を検索しています。^行の先頭をマークし、.*任意の文字を何度でも含め、行$の末尾をマークします。したがって、この正規表現はすべての行のすべてのコンテンツを検索します。

この式を($0)1$0見つかった式であるに置き換え、それにa 1を追加します。


2
Find = $およびreplace = 1で十分です。
サルマンA

8

または、大きな男の子がするように:)。

Shift + Alt =>右キー(1回)=>下キー(最後の行まで押す)を使用して、最後の列を選択します。

好きなものを入力します。すべての行に一度に表示されます。


私もこれを言うつもりだった..なぜすべての複雑なreg表現?これは質問に完全に答えます..そしてなぜダウン票ですか?誰かがそれが有効な答えだと理解していないからですか?Oo
同上

2
これは23,000行では実用的ではないかもしれません(遅すぎるか、そうでなければ(画家のアルゴリズムであるShlemielによるメモリの問題?))。実際に23,000行で試してみましたか?
ピーターモーテンセン

2
@PeterMortensen恐ろしく遅いですが、メモリ使用量は問題ありません(5 MB => 25 MB)。大きな問題は、異なる行の長さにうまく対応できないように見えることです。
ボブ

@Ditto平均的なユーザーであると主張することはありませんが、これは正規表現ほど直感的ではないようです。その後、再び、xkcd.com/1171
デヴィッド・Z

1
これはあまり良い答えではありません。最初に最も長い行を見つける必要があり、次に最後の行まで押す必要があります。この方法をテストしている間、数十行後に退屈しました。 2万行以上
エクイタス

1

同じ長さの文字列の場合は、押したままAltクリックしてドラッグし、選択をブロックし、同時に複数の行に書き込むことができます。それらの長さが等しくないが、スペースで区切られていない場合、同じ手順を実行してから「」を「」に置き換えることはできません。


3
私は時々この機能を使用しますが、23,000行ドラッグします...それほど面白くないです:)
デナムクーテ

1

拡張モード。

私は、他の回答で言及されていないわずかに異なるアプローチを追加したかった:拡張モード。

このようなもののために-すべてはあなたが関係しているある\r\n\tまたはに含ま他者この小さなリスト(そのページのルックスは、その信憑性にはそうではない100%必ず、「日付」とが)通常の外にいっぱいに行く理由はありません表現。

Notepad ++の拡張モードを「頻繁に」使用して、ファイルレイアウトをマッサージします。主に、複数の空行、余分な空白、その他のさまざまな奇妙なものを削除します。

延長

  1. メニュー[検索]> [置換](またはCtrl+ H
  2. 必要な行末を決定する
  3. [検索対象]に次を入力します。
    • \r\n Windows用
    • \r MacOSの古いバージョン(9以上)
    • \n Unix以降のMacOS(OS X以降)の場合
  4. 「置換」を設定します
    • 1\r\n Windows用
    • 1\r MacOSの古いバージョン(9以上)
    • 1\n Unix以降のMacOS(OS X以降)の場合
  5. 「拡張」を有効にする
  6. [すべて置換]をクリックします

「正規表現」は「拡張」のスーパーセットであるため、この特定のケースでは、どちらを使用してもかまいません。
DavidPostill

\nUnixや\r古いバージョンのMacOS向けではないでしょうか?ウィキペディアの最初の箇条書き:en.wikipedia.org/wiki/Newline#Representations
nhahtdh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.