【发布时间】:2016-10-21 02:22:26
【问题描述】:
我想使用 Notepad++ 查找和替换文本文件中的字符串,我想从命令行自动完成。
我想在文本文件 mytextfile.txt 中将所有出现的“userid=”替换为“userid=123456”
我该怎么做?
【问题讨论】:
标签: windows replace command-line notepad++
我想使用 Notepad++ 查找和替换文本文件中的字符串,我想从命令行自动完成。
我想在文本文件 mytextfile.txt 中将所有出现的“userid=”替换为“userid=123456”
我该怎么做?
【问题讨论】:
标签: windows replace command-line notepad++
您可以分 3 步完成:
录制宏:
Ctrl + H)userid=\d*,替换为:userid=123456,并检查“正则表达式”Alt + A)从命令行打开:
运行<notepad++ path> mytextfile.txt。例如在 Windows 64 位:
"C:\Program Files (x86)\Notepad++\notepad++.exe" mytextfile.txt
执行宏:
进入“宏”菜单并选择之前录制的宏。
解决问题的更好方法是使用 Perl one-liner。
perl -i.bak -pe 's/userid=\d*/userid=123456/g' mytextfile.txt
此命令将在备份mytextfile.txt.bak 中复制文件并替换所有出现的“userid”。
关于 Perl one-liner,这是一个很棒的页面,里面有一些提示:https://blogs.oracle.com/ksplice/entry/the_top_10_tricks_of
干杯
【讨论】:
N++ 是一个编辑工具,而不是一个文件处理工具。一种稍微可行的解决方案是提供一个宏的名称,以便在打开文件时立即运行。
【讨论】: