是否可以从命令行在Notepad ++中自动替换文本?

Flo*_*Flo -1 windows command-line replace notepad++

我想使用记事本++查找并替换文本文件中的字符串,我想从命令行自动执行此操作。

我想在文本文件mytextfile.txt中将所有出现的“ userid =”替换为“ userid = 123456”

我该怎么办?

Jea*_* T. 5

您可以通过3个步骤进行操作:

  1. 记录执行替换的宏
  2. 从命令行打开文件
  3. 执行宏

录制宏

  1. 宏>开始录制
  2. 搜索>替换(或Ctrl + H
  3. 查找:userid=\d*,替换为:userid=123456,然后检查“常规排除项”

用正则表达式替换

  1. 点击“全部替换”(或Alt + A
  2. 宏>停止记录
  3. 宏>保存当前记录器宏

要从命令行打开

运行<notepad++ path> mytextfile.txt。例如在Windows 64位中:

"C:\Program Files (x86)\Notepad++\notepad++.exe" mytextfile.txt
Run Code Online (Sandbox Code Playgroud)

要执行宏

转到“宏”菜单,然后选择先前记录的宏。


解决您的问题的更好方法是使用Perl单行代码

  1. 安装Perl脚本语言
  2. 运行以下命令

perl -i.bak -pe 's/userid=\d*/userid=123456/g' mytextfile.txt

此命令将在备份中复制文件,mytextfile.txt.bak并替换所有出现的“ userid”。

关于Perl单行代码,这是一个很棒的页面,其中包含一些技巧:https : //blogs.oracle.com/ksplice/entry/the_top_10_tricks_of

干杯