使用脚本从JS文件中删除文本

时间:2016-03-17 18:34:07

标签: javascript cmd

我正在尝试编写一个脚本,如果它已存在于js文件中,将删除一行代码。我很好奇,如果这是可能的。当脚本运行时,我希望它检查user_pref("plugin.disable_full_page_plugin_for_types", "application/pdf");是否存在,然后删除它。这几乎占百分之百的时间。因此,我有兴趣了解它是否可行,或者如果它存在则删除命令。

cd /D "%APPDATA%\Mozilla\Firefox\Profiles\*.default"
echo user_pref("browser.cache.check_doc_frequency", 1);>>prefs.js
if (user_pref("plugin.disable_full_page_plugin_for_types", "application/pdf"); !== undefined) {

}

我想抓住的是js文件已经存在,所以它不像我可以将它设置为变量然后将变量设置为空。

不确定是否可以提供任何帮助,我们将不胜感激!

2 个答案:

答案 0 :(得分:2)

如果您只想从文件中删除包含特定内容的行,那么您可以使用grep

# Outputs into prefs.js.new all lines from prefs.js that do not include the string
grep -v 'user_pref("plugin.disable_full_page_plugin_for_types", "application/pdf")' < prefs.js > prefs.js.new
mv prefs.js.new prefs.js

您可以通过查找'^user_pref(...告诉grep在每行的开头查找模式来加快速度,因此它会先前跳过不匹配的行。

如果您使用的是Windows(从cd /D "%APPDATA%...判断),则可以使用FIND。我想你想用/v来反转匹配:

FIND /v 'user_pref("...")' < prefs.js > prefs.js.new

您可能需要使用引号来使其正常工作。

答案 1 :(得分:0)

也许不是删除原始文件(Mozilla不推荐使用btw),最好使用自定义首选项文件覆盖该选项:user.js

https://developer.mozilla.org/en-US/docs/Mozilla/Preferences/A_brief_guide_to_Mozilla_preferences

  

在配置文件目录中有两个用户pref文件:prefs.js和   user.js. prefs.js由应用程序自动生成   不应手动编辑,而user.js是可选文件   用户可以创建以覆盖其他人初始化的首选项   偏好文件。

所以我宁愿用这个内容创建user.js文件:

user_pref("plugin.disable_full_page_plugin_for_types", "");

在我的(windows)案例中,个人资料路径为:

C:\Users\{username}\AppData\Roaming\Mozilla\Firefox\Profiles\{profilename}