大量文字操作?

大量文字操作?

我有一個幾十萬字的文字檔。例如:

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”兩次。首先開始錄製,第二個選擇要錄製的緩衝區(可以是任何字母)。
  • Shift+a 在行尾開始插入文字。
  • 輸入所需的文字。
  • Esc 停止插入。
  • 向下箭頭或“j”轉到下一行。
  • 再次按“q”即可停止錄音。
  • 現在,您可以輸入“@@”或“@q”來重播錄製的動作。 '@@' 重播最後一筆記錄,'@q' 重播 'q' 緩衝區下的記錄(本例相同)。
  • 輸入「1000@@」可重播巨集 1000 次。

相關內容