数十万語のテキスト ファイルがあります。例:
word1
word2
etc
以下のことが簡単にできるプログラムを知りたいです:
- テキストの先頭に「FRONT」を追加し、
- テキストの最後に「BACK」を追加します
つまり、次のようになります。
FRONTword1BACK
FRONTword2BACK
FRONTetcBACK
PHP でコーディングすれば簡単にできますが、適切なツールを使ったより高速な方法があるかどうか知りたいです。おそらく、これは notepad++ や scite などで実行できるでしょう。最悪の場合、Linux のコマンド ラインでも実行できるでしょう。
注: Windows ベースのビジュアル エディターをお勧めします。
答え1
NotePad++ で正規表現の置換を実行します:
検索対象: ^(.*)$
置換: FRONT\1BACK
正規表現では何が起こっているのでしょうか?
^ - 行頭に一致
$ - 行末に一致
.* - 間にあるすべてに一致 (括弧で囲むとグループとしてマークされます)
置換は、単に前後に修正したいものと、最初の正規表現グループの値 (つまり、行にあるすべてのもの) を間に挟むだけです。
答え2
VIM は Windows で動作します。これまで使用したことがない場合は、使い始めるのに問題が生じる可能性がありますが、基本を学べば、すべての魔法が利用できるようになります。
1) 各行の最初の文字の前に何かを追加します。
- 最初の行、最初の列に移動します。
Ctrl+VCtrl+q を押すとビジュアル ブロック モードに入ります。- 最後の行に移動するにはCtrl+Gを押します。
- Shift+i を押すとビジュアル挿入モードに入ります。
- テキストを入力して Esc キーを押します。テキストはすべての行に表示されます。
2) 最後に何かを追加します。すべての単語の長さが同じであれば、上記のように実行できます。そうでない場合は、マクロを使用します。
- 最初の行に移動します。
- 「q」を 2 回押します。最初に録音を開始し、2 番目に録音先のバッファーを選択します (任意の文字を指定できます)。
- Shift+a を押すと、行末にテキストの挿入が開始されます。
- 希望のテキストを入力します。
- 挿入を停止するには Esc キーを押します。
- 次の行に移動するには、下矢印または「j」を押します。
- 録画を停止するにはもう一度「q」を押します。
- これで、「@@」または「@q」と入力して、記録されたアクションを再生できます。「@@」は最後のレコードを再生し、「@q」は「q」バッファの下のレコードを再生します (この例では同じです)。
- マクロを 1000 回再生するには、「1000@@」と入力します。