Bash命令将多个文件的内容写入单个文件

时间:2009-03-12 20:31:48

标签: bash firebug

我想知道将多个.html文件(分布在多个文件夹中)组合成一个单独的html文件的最佳方法是什么。如果有人可以创建一个非常棒的简单bash命令。 (这是一种解决方法,所以我可以使用firebug的命令行API来有效地搜索整个网站的html选择器组合。据我所知,firebug只能在一个页面上搜索。)

对于这位受阻的前端设计师,非常感谢任何帮助。

4 个答案:

答案 0 :(得分:7)

cat file1.html file2.html file3.html > newfile.html

编辑 这可能更容易

find . -name="*.html" | xargs cat >> ../newfile.html

请注意,newfile.html会从当前目录中向上推,因此它不会被自身捕获。

答案 1 :(得分:4)

好吧,如果您不担心生成的文件是否正确,cat似乎是最简单的方法:

cat file1.html file2.html file3.html > result.html

但当然,每个文件的顶部都有<html>标记,底部有一个结束标记,因此它不是有效的HTML文件。 Firefox可能会加载它,但我不知道它将如何显示它...也许只有第一个?

答案 2 :(得分:2)

你总是使用grep来搜索一组文件中的内容,而不是合并所有文件,然后搜索那个文件。

grep <string you are looking for> <folder containing all of files> -r

答案 3 :(得分:1)

for file in `ls *.html`; do cat "$file" >> output.html; done