大量のテキスト操作?

大量のテキスト操作?

数十万語のテキスト ファイルがあります。例:

word1
word2
etc

以下のことが簡単にできるプログラムを知りたいです:

  1. テキストの先頭に「FRONT」を追加し、
  2. テキストの最後に「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@@」と入力します。

関連情報