【发布时间】:2013-03-10 20:57:29
【问题描述】:
我将一些文件放入 Markdown 解析器中,并希望预先/附加一个头/脚。目前,我用几个命令来做,但想用一个衬里来做。这是我要添加的命令...
cat `find .. -name "*.md" -type f` | marked
这会产生我的文档的中间部分,所以我想做类似...
cat head.template (cat `find ... ` | marked)
【问题讨论】:
我将一些文件放入 Markdown 解析器中,并希望预先/附加一个头/脚。目前,我用几个命令来做,但想用一个衬里来做。这是我要添加的命令...
cat `find .. -name "*.md" -type f` | marked
这会产生我的文档的中间部分,所以我想做类似...
cat head.template (cat `find ... ` | marked)
【问题讨论】:
尝试像这样对“源”命令进行分组:
{ cat header_part ; cat `find ...` ; cat footer_part } | marked
如果你只想解析中间部分:
{ cat header_part ; cat `find ...` | marked ; cat footer_part } > output_file
感谢Ansgar Wiechers,更喜欢$() 而不是反引号:
{ cat header_part ; cat $(find ...) | marked ; cat footer_part ) > output_file
【讨论】:
cats的家人:cat header_part $(find ... | marked) footer_part > output_file
find .. -name '*.md' -type f -exec cat {} + 将会是
这对我有用,$( ... commands ... ) 和反引号的组合。
echo `cat head.html.snippet` `cat $(find .. -name "*.md" -type f) | marked` `cat foot.html.snippet` > all.htm
【讨论】:
如果名称包含空格,这将使用较少的子进程并且有效:
shopt -s globstar; { cat head.html.snippet; cat ../**/*.md | marked; cat foot.html.snippet; } > all.htm
您也可以使用进程替换:
cat head.html.snippet <(find .. -name '*.md' -exec cat {} \+ | marked) foot.html.snippet > all.htm
【讨论】: