添加到 Notepad++ 中的每一行末尾

Rox*_*ion 13 shell notepad++ awk sed append

我有一个长文本文件

gallery-dl -g -i w4b027.txt >
gallery-dl -g -i a4b028.txt >
gallery-dl -g -i b4b029.txt >
gallery-dl -g -i c4b030.txt >
gallery-dl -g -i d4b031.txt >
gallery-dl -g -i w4b032.txt >
gallery-dl -g -i w4b033.txt >
gallery-dl -g -i w4b034.txt >
gallery-dl -g -i w4b035.txt >
gallery-dl -g -i w4b036.txt >
gallery-dl -g -i w4b037.txt >
gallery-dl -g -i w4b038.txt >
gallery-dl -g -i w4b039.txt >
gallery-dl -g -i w4b040.txt >
Run Code Online (Sandbox Code Playgroud)

我想成功

gallery-dl -g -i a4b027.txt > a4b027x.txt
gallery-dl -g -i b4b028.txt > b4b028x.txt
gallery-dl -g -i c4b029.txt > ...
Run Code Online (Sandbox Code Playgroud)

第一个文本文件到带有后缀“x”的第二个文本文件。

kap*_*pex 45

您可以alt在块模式下按住选择文件名。然后将它们复制并粘贴到所需位置,然后一次修改所有行。

用 gif 比用文字更容易描述:

Notepadd++ 块模式复制和粘贴

除了使用鼠标,您还可以按住shift+alt然后使用箭头键在块模式下进行选择。您还可以使用向上/向下翻页键快速选择较大文件中的整列。

  • 对于不熟悉正则表达式的人,我怀疑这种方法会引起较少的问题...... (7认同)
  • 这仅在文件名具有相同长度时才有效。 (5认同)
  • @Brad:如果文件名的长度不同,则不能在扩展名前添加 `x`。 (2认同)

Tot*_*oto 23

  • Ctrl+H
  • 找什么: ^.+\h(\S+)(\.txt) >\K
  • 用。。。来代替: $1x$2
  • 检查 环绕
  • 检查 正则表达式
  • 取消勾选 . matches newline
  • Replace all

解释:

^           # beginning of line
  .+          # 1 or more any character but newline
  \h          # horizontal space
  (\S+)       # group 1, 1 or more non-space character
  (\.txt)     # group 2, extension .txt
   >          # a space and > character
  \K          # forget all we have seen until this position
Run Code Online (Sandbox Code Playgroud)

替代品:

 $1         # a space and content of group 1 (filename)
x           # letter x
$2          # content of group 2 (extension)
Run Code Online (Sandbox Code Playgroud)

截图(之前):

在此处输入图片说明

截图(后):

在此处输入图片说明

  • 不是反对者,但是当您尝试向某人展示正则表达式时,您应该使用尽可能少的“魔法”。[这个答案](https://superuser.com/a/1625799/395057) 只在需要的地方使用匹配字符做得很好,而且更容易阅读(但他们应该解释他们使用的小正则表达式,以及他们的实际上是错误的......我只是指出了简单性)。我一直使用正则表达式,我不知道 \K 做什么或为什么需要它。 (2认同)
  • @Toto 为什么我们需要在正则表达式的最后“忘记我们所看到的直到这个位置”?这个 \K 解决了正则表达式的其余部分有什么问题? (2认同)

Vom*_*yle 18

使用Notepad++简化重复性任务的另一种方法是使用宏功能

以下步骤将使用宏将为您重复的键盘击键...

  1. 打开长文本文件并将鼠标光标放在第一行最左侧的最开始处

    在此处输入图片说明

  2. 选择Macro| Start RecordingNotepad++上部菜单栏

    在此处输入图片说明

这是您开始键盘步骤以完成第一行任务的地方

  1. 按住Ctrl并按下?键 7 次

  2. 按住Ctrl+Shift键并按?3 次

  3. Ctrl+C

  4. End键 1 次

  5. Ctrl+V

  6. 按住Ctrl并按下?键 2 次

  7. X键 1 次

  8. ?键 1 次

  9. Home键 1 次

这是您停止完成第一行任务的键盘步骤的地方

  1. 选择Macro| Stop Recording从 Notepad++ 上部菜单栏 在此处输入图片说明

您现在已经构建了宏,因此您可以启动它并将其播放到文件末尾以执行这些操作,直到最后一行,它会为您处理重复。

因此,只需在按下数字 11Home键后停留在文档的第二行,然后...

  1. 选择Macro| Run a Macros Multi Times...Notepad++上部菜单栏

    在此处输入图片说明

  2. 检查Run until the end of the file然后按Run

    在此处输入图片说明

输出结果

gallery-dl -g -i w4b027.txt > w4b027x.txt
gallery-dl -g -i a4b028.txt > a4b028x.txt
gallery-dl -g -i b4b029.txt > b4b029x.txt
gallery-dl -g -i c4b030.txt > c4b030x.txt
gallery-dl -g -i d4b031.txt > d4b031x.txt
gallery-dl -g -i w4b032.txt > w4b032x.txt
gallery-dl -g -i w4b033.txt > w4b033x.txt
gallery-dl -g -i w4b034.txt > w4b034x.txt
gallery-dl -g -i w4b035.txt > w4b035x.txt
gallery-dl -g -i w4b036.txt > w4b036x.txt
gallery-dl -g -i w4b037.txt > w4b037x.txt
gallery-dl -g -i w4b038.txt > w4b038x.txt
gallery-dl -g -i w4b039.txt > w4b039x.txt
gallery-dl -g -i w4b040.txt > w4b040x.txt
Run Code Online (Sandbox Code Playgroud)

配套资源

  • 点赞。这比其他答案中的正则表达式替换函数更容易、更通用、更不容易出错。一旦您掌握了键盘宏的可能性(包括“重复到文件结尾”),您就可以使用 Notepad++ 做很多事情…… (3认同)

har*_*ymc 10

Notepad++ 搜索和替换:

查找内容:gallery-dl -g -i (\w+).txt >
替换为:gallery-dl -g -i \1.txt > \1x.txt

如果不是所有行都以空白结尾,则需要对其进行修改。

在此处输入图片说明