• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

verzeichnis voller textdateien zu einer datei zusammenfügen

ran2

Jamba
Registriert
15.11.05
Beiträge
59
Hallo zusammen.. gibt es die möglichkeit einfach per shell befehl den inhalt aller textdateien in eines verzeichnis in eine einzige textdatei zu speichern.

nehme auch ein gerne ein tool wenn das den zweck erfüllt. Ich könnte es mir ansonsten vielleicht mit php recht umständlich zusammenreimen. Doch ich bin mir sicher ihr kennt eine bessere lösung ;)

besten dank schonmal
 

Goglo

Querina
Registriert
08.10.08
Beiträge
180
Hilft da "cd das_verzeichnis;cat * >/tmp/alle_files_zusammen" nicht? Oder sind ausser den Textdateien noch andere in dem Verzeichnis bzw. möchtest Du die Reihenfolge anders als alphabetisch haben?
 

ran2

Jamba
Registriert
15.11.05
Beiträge
59
hehe, danke. das hilft schon mal. ne in dem verzeichnis ist jetzt nix anderes drinne..
habs ganz einfach ohne sub verzeichnis mit cat * >alle_files_zusammen.txt
hinbekommen, nur das problem ist, irgendwie sollte das schon irgendwie getrennt sein, einen \r zeilenumbruch oder so wäre toll...
 

Goglo

Querina
Registriert
08.10.08
Beiträge
180
Dann hier mal ausführlicher:

for i in *; do echo "/* $i */"; cat $i; done>/tmp/myfile

ergibt:
Code:
/* f1 */
ajdfkla jadsflj jadfkl
/* f2 */
euwrio uqweoir uweior
mit f1 = ajdfkla jadsflj jadfkl
und f2 = euwrio uqweoir uweior
 
Zuletzt bearbeitet:

ran2

Jamba
Registriert
15.11.05
Beiträge
59
jau das funzt schon gut, hat ne weile gedauert bis ich gecheckt habe, dass man nicht alles ins gleiche verzeichnis tun darf und dass es mit subfolder so auch nicht geht. aber jetzt tut es, bzw. jetzt habe ich es verstanden :) Vielen dank.

Einen Zeilenumbruch nach dem inhalt der Textfile macht es leider nicht, aber das ist nur ein schönheitsfehler schliesslich gibts ja s&r im texteditor.

danke!!
 

Goglo

Querina
Registriert
08.10.08
Beiträge
180
Dann ersetz' doch das "/*" $i "*/", was der echo ausgibt, einfach durch einen das was Du willst oder halt durch gar nix um nur einen linefeed zu erzeugen. Wenn's rekursiv (deshalb nun "find" anstelle von "*") alle normalen Dateien (type f) aller subfolder zusammenfassen soll, dann hilft:

find . -type f -exec sh -c "echo && cat {}" ";" >/tmp/myfile

Ich habe (wieder) ">/tmp/myfile" und nicht nur ">myfile" genommen, weil das hoffentlich gerade nicht im aktuellen Verzeichnis liegt und somit "ausser Reichweite" ist.
 
Zuletzt bearbeitet:

ran2

Jamba
Registriert
15.11.05
Beiträge
59
jau das war clever gedacht. danke, ausserhalb reicht für meine zwecke vollkommen, brauch eh nur den linefeed. vielen dank auf jeden fall, hat mir sehr geholfen :)