是否有可能包含目录字符串的清单文件fx。
#css
SomeDIR/crap0.css
SomeDIR/crap1.css
SomeDIR/crap2.css
#js
SomeDIR/crap0.js
SomeDIR/crap1.js
SomeDIR/crap2.js
让我们调用这个文件list.mf
然后我有一个bash代码,我也想使用list.mf中定义的目录结构
可能是
cat %first entry in list.mf% > crap.txt
cat %second entr in list.mf% >> crap.txt
希望你能得到帮助,如果你不理解我的问题,可以提出进一步的问题:=)
/的Mathias
答案 0 :(得分:0)
如果您的文件名确实包含数字,则可以
for i in {0..2} ; do
grep crap$i'\.' list.mf >> crap.txt
done
如果没有,我会使用更高级的语言,如Perl。
答案 1 :(得分:0)
您尝试做的事情可以使用for
循环或简单查找来完成,例如:
for f in */*css ; do
cat $f >> OUTPUT.file
done
# SAME
find Somedir/ -iname '*.css' -exec cat \{\} >> OUTPUT.file \;
但是如果你想使用config
(manifest)文件,你可以在脚本中source
,但是这样你必须在配置中使用正确的(bash
)语法以及例如文件列表应该是一个数组等,就像这样" manifest.file
"文件内容:
#css
export cssfiles=('SomeDIR/crap0.css' 'SomeDIR/crap1.css' 'SomeDIR/crap2.css')
#js
export jsfiles=('SomeDIR/crap0.js' 'SomeDIR/crap1.js' 'SomeDIR/crap2.js'
在你的剧本中:
source /whatever/path/to/manifest.file
# ... then process those variables
for elem in ${cssfiles[*]} ; do
cat $elem >> OUTPUTFILE
done
# and
for elem in ${jsfiles[*]} ; do
cat $elem >> ANOTHER_OUTPUTFILE
done
如果您需要manifest
文件的特定格式,您仍然可以编写一些awk
|| sed
|| grep
脚本来提取正确的列表。
HTH