Aquí podría ser tu PUBLICIDAD


Comando Bash para escribir los contenidos de múltiples archivos en un solo archivo

votos
1

Me pregunto cuál es la mejor manera de combinar múltiples archivos .html (distribuidos en muchas carpetas) en un solo archivo html. Si alguien pudiera crear un comando bash simple, sería fantástico. (Esta es una solución, así que puedo usar la API de línea de comandos de firebug para buscar de manera efectiva todo un sitio para combinaciones de selector html. Por lo que sé, Firebug solo puede buscar en una página).

Cualquier ayuda es muy apreciada por este diseñador front-end obstaculizado.

Publicado el 12/03/2009 a las 21:31
fuente por usuario Mike
En otros idiomas...        العربية       

4 respuestas

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

Editar Esto puede ser más fácil

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

Tenga en cuenta que newfile.html se empuja hacia arriba desde el directorio actual para que no se cating en sí mismo.

Respondida el 12/03/2009 a las 09:35
fuente por usuario grieve


Aquí podría ser tu PUBLICIDAD


votos
4

Bueno, si no le preocupa que el archivo resultante sea correcto, catparece ser la forma más fácil de hacerlo:

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

Pero, por supuesto, cada uno de esos archivos tiene una <html>etiqueta en la parte superior y una de cierre en la parte inferior, por lo que no será un archivo HTML válido. Es probable que Firefox lo cargue, pero no sé cómo lo mostrará ... ¿quizás solo el primero?

Respondida el 12/03/2009 a las 09:35
fuente por usuario rmeador

votos
2

Siempre utilizas grep para buscar algo en un grupo de archivos en lugar de combinar todos los archivos y luego buscar ese archivo.

grep <string you are looking for> <folder containing all of files> -r
Respondida el 12/03/2009 a las 09:38
fuente por usuario nan

votos
1
for file in `ls *.html`; do cat "$file" >> output.html; done
Respondida el 12/03/2009 a las 09:36
fuente por usuario Judge Maygarden