Quiero catalogar todos los archivos en un directorio, pero incluir algún espaciador entre cada uno.¿Cómo incluyo una línea en blanco entre los archivos que estoy concatenando con "gato"?
Respuesta
uso awk
awk 'FNR==1{print ""}{print}' file* > out.txt
echo "" > blank.txt
cat f1.txt blank.txt f2.txt blank.txt f3.txt
para manejar todos los archivos en un directorio (ksh asumiendo como Shell)
for file in * ; do
cat $file >> result.txt
echo "" >> result.txt
done
Eso no se ocupa de todos los archivos en el directorio a menos que hagan una lista de forma manual como parámetros. –
ten cuidado si gatas así con un bucle for expandiendo todo. $ file podría ser un directorio y estarás atrapando un directorio. – ghostdog74
Es posible que desee ver pr(1)
, que puede hacer lo que quiera desde el primer momento.
para rodar su propio, expanda este fragmento de secuencia de comandos shell POSIX:
ls -1 | while read f; do cat "$f"; echo This is a spacer line; done > /tmp/outputfile
Esto podría más legible puede escribir como:
ls -1 | while read f; do
cat "$f"
echo This is a spacer line
done > /tmp/outputfile
Usted realmente no necesita el -1
para ls
.
¡Gracias! Solo recuerda redirigir la salida a otro directorio (como en la solución awk). – Matt
Roger, actualizado. – DigitalRoss
Trate
find . -type f -exec cat {} \; -exec echo "-- spacer --" \;
Obviamente, el 'espaciador' puede ser más que el ejemplo simple que se usa aquí.
Creo que la forma más simple está utilizando el comando paste
:
paste $(ls *) > file.out
Um, no, esto simplemente no funciona. Paste hace algo similar pero diferente a lo que hizo la pregunta. Entrelaza los archivos. – Caleb
- 1. ¿Cómo incluyo los archivos de configuración con Maven Appassembler?
- 2. Python: concatenando bytes con una cadena
- 3. ¿Cómo incluyo JavaScript en línea en Haml?
- 4. ¿Cómo incluyo archivos javascript en el servidor?
- 5. Comparación de imágenes (solo bordes/forma, sin color) - Cómo distinguir gato de gato con presa
- 6. mejor manera de gestionar los espacios en blanco entre los elementos de la lista en línea
- 7. unix: cómo gato de 2 entradas?
- 8. WP7 detección WLAN (CÓMO estoy en línea)
- 9. ¿Cómo hago que los archivos de etiquetas JSP NO ignoren todos los espacios en blanco?
- 10. Grep: obtener todos los archivos que no tiene una línea que coincide con
- 11. ¿Cómo incluyo archivos .class en mi proyecto en Eclipse? (Java)
- 12. Cómo eliminar los espacios en blanco entre etiquetas en XML
- 13. problemas con la variable global compartida entre los archivos de origen (estoy usando incluir guardias)
- 14. ¿Cómo puedo listar los archivos que no terminan con una nueva línea?
- 15. ¿Cómo incluyo la línea actual en Python PDB?
- 16. ¿Cómo configurar el formateador Eclipse para que no se inserte una línea en blanco entre las declaraciones de campo?
- 17. ¿Cómo incluyo System.Windows.Shapes?
- 18. ¿Cómo incluyo archivos JAR externos en mi propio proyecto JAR
- 19. ¿Cómo se prueba la línea en blanco con Java Scanner?
- 20. Cómo recortar espacios en blanco entre caracteres
- 21. Cómo evitar que dbms_output.put_line recorte los espacios en blanco iniciales?
- 22. ¿Cómo incluyo archivos DLL en mi archivo .csproj?
- 23. Dos lotes: escriba en los archivos sin una línea que finalice
- 24. convirtiendo espacio en blanco en archivos Python?
- 25. Dividir una línea en C/C++ utilizando los espacios en blanco como separador
- 26. ¿Cómo diseñar una "vista" en MySQL que obtenga los resultados que estoy buscando?
- 27. ¿Cómo incluyo un modelo con RedirectToAction?
- 28. Cómo eliminar una línea completa que coincide con un patrón
- 29. ¿Cómo incluyo un archivo de texto en una aplicación qt?
- 30. Eliminar la línea en blanco en Eclipse
recursividad repugnante. Pero esto funciona: awk 'FNR == 1 {print ""} {print}' * .txt> /tmp/out.txt – Matt
¿qué quieres decir repulsión desagradable.? – ghostdog74
Si ejecuto esa línea solo, el comando nunca se cierra y sigue agregando los archivos al archivo out.txt (que está en la misma carpeta de los archivos que estoy recibiendo) Out.txt se vuelve muy grande, muy rápido. (De nuevo, OSX 10.5.8 YRMV). – Matt