如何通过命令行显示已安装的 Firefox 扩展列表?

Moh*_*ani 7 command-line firefox

在 Firefox 浏览器上显示所有已安装扩展的列表的命令行是什么?有没有。我检查man firefox但没有帮助。

cha*_*aos 15

试试这个greponeliner 命令来列出所有的 firefox 插件,

grep -oP '(?<=\},\"name\":\")([^"]*)' ~/.mozilla/firefox/*.default/addons.json
Run Code Online (Sandbox Code Playgroud)

或者

这对我有用:

user@host:~$ cat ~/.mozilla/firefox/*.default/addons.json |
python -c 'import json,sys;obj=json.load(sys.stdin);
for (i, x) in enumerate(obj["addons"]):
  print x["name"]' | uniq
Run Code Online (Sandbox Code Playgroud)

在我的情况下输出:

Clean Links
Tee-Timer
Run Code Online (Sandbox Code Playgroud)

说明

  • cat ~/.mozilla/firefox/*.default/addons.json:读取每个配置文件中的 addons.json 文件。
  • python -c 'import json,sys;obj=json.load(sys.stdin); 加载python的json解析器库并通过stdin(标准输入)加载json,ergo from cat
  • for (i, x) in enumerate(obj["addons"]): phyton 代码循环访问插件数组...
  • print x["name"]' | uniq ...并只打印其名称一个。


ter*_*don 8

这基本上只是@chaos 方法的简化版本:

grep -oP '},"name":"\K[^"]*' ~/.mozilla/firefox/*.default/addons.json
Run Code Online (Sandbox Code Playgroud)

没有理由获取用户名,您始终可以使用~/$HOME获取主目录。同样,不需要默认配置文件的名称。你可能只有一个,它的名字是RandomString.default. 如果您有多个插件,并且每个插件都有不同的插件,则此方法将列出所有插件。因此,如果您确实有多个配置文件,则可能需要添加| uniq到上述命令中以删除重复项。

解释

  • grep -oP:所述-o原因grep仅打印该行的匹配部分和所述-P激活所需要用于Perl兼容正则表达式\K(见下文)。
  • },"name":"\K[^"]*: 匹配紧跟在 之后的最长一段非"字符 ( [^"]*) },"name":。的\K手段“忽略一切匹配到这里”,当其与组合-o,将导致匹配的仅一部分之后name:":"被打印。
  • ~/ : 这是你的主目录。