当我执行以下find
覆盖index.html
我希望它只会附加其结果。
echo "<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/></head></body>" > index.html
find . -name "*.html" -exec echo "<a href=\"{}\">{}</a><br/>" \; >> index.html
假设找到所有html文件并创建它们的索引。
有没有人如何做到这一点,理想情况下不使用临时文件?
答案 0 :(得分:2)
问题在于你的回声线,回声线应该是:
echo '<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/></head></body>' > index.html
你的文本和echo命令边界内都有"
。
答案 1 :(得分:2)
你必须逃避回声中的所有“角色。
echo "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/></head></body>" > index.html
find . -name "*.html" -exec echo "<a href=\"{}\">{}</a><br/>" \; >> index.html