这是我有的 cmd 有点工作。我还想将文件路径添加到输出中。
find . \( -name '*.xml' -o -name '*.js' \) \( -type f -not -path "static" -type f -not -path "node_modules" \) -exec awk '/[require|define]\(\[/,/] | require\((.*)\)/' {} \;
以前,我为两种不同样式的导入运行了两个单独的命令。现在我把它放在一个命令中并用 | 分隔正则表达式我得到以下还包括函数(mvc, Config) {...
require([
'mvc',
'config',
'mvc/xml/ready!'
], function(mvc, Config) {
var unsubmittedTokens = mvc.Components.getInstance('default');
var submittedTokens = mvc.Components.getInstance('submitted');
var username = Config['USERNAME'];
unsubmittedTokens.set('currentUser', username);
submittedTokens.set('currentUser', username);
});
所需的输出如下。请注意有两种不同风格的 require 语句。如果在文件中找到一种风格的 require 语句,我想跳过并转到下一个我认为是 | 的文件。正则表达式的一部分应该做。
/path-to-file
# require('copy-webpack-plugin')
/path-to-file
# require([
# 'jquery',
# 'underscore',
# 'backbone',
# 'bootstrap.affix',
# 'bootstrap.scrollspy'
# ],
答案 0 :(得分:0)
我把 awk 部分改成了这样:
awk 'BEGIN {FS = ","} FNR == 1 {print FILENAME} /[require|define]\(\[/,/]/ {print "# " $1} /require\((.*)\)/ {print "# " $1}' {} \;
得到这个输出:
/file1.js
# require([
# 'mvc'
# 'config'
# 'mvc/xml/ready!'
# ]
/file2.js
# require('mvc',