Beibehalten des führenden Leerraums beim Lesen >> Schreiben einer Datei zeilenweise in Bash
Ich versuche, ein Verzeichnis von Textdateien zu durchlaufen und sie in einem Dokument zu kombinieren. Das funktioniert prima, aber die Textdateien enthalten Codefragmente und alle meine Formatierungen werden nach links reduziert. Alle führenden Leerzeichen in einer Zeile werden entfernt.
#!/bin/sh
OUTPUT="../best_practices.textile"
FILES="../best-practices/*.textile"
for f in "$FILES"
do
echo "Processing $f file..."
echo "">$OUTPUT
cat $f | while read line; do
echo "$line">>$OUTPUT
done
echo >>$OUTPUT
echo >>$OUTPUT
done
Ich bin zugegebenermaßen ein bash noob, aber nachdem ich hoch und niedrig gesucht habe, konnte ich keine richtige Lösung finden. Anscheinend hasst BASH den führenden weißen Raum im Allgemeinen.