【问题标题】:Is it possible to replace text automatically in Notepad++ from the command line?是否可以从命令行自动替换 Notepad++ 中的文本?
【发布时间】:2016-10-21 02:22:26
【问题描述】:

我想使用 Notepad++ 查找和替换文本文件中的字符串,我想从命令行自动完成。

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

我该怎么做?

【问题讨论】:

    标签: windows replace command-line notepad++


    【解决方案1】:

    您可以分 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
    

    执行宏:

    进入“宏”菜单并选择之前录制的宏。


    解决问题的更好方法是使用 Perl one-liner。

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

    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

    干杯

    【讨论】:

      【解决方案2】:

      N++ 是一个编辑工具,而不是一个文件处理工具。一种稍微可行的解决方案是提供一个宏的名称,以便在打开文件时立即运行。

      【讨论】:

        猜你喜欢
        • 2013-11-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-30
        • 1970-01-01
        • 2011-05-11
        • 1970-01-01
        • 2018-08-20
        相关资源
        最近更新 更多