hallo, ich versuche gerade ein kleines Bash-Programm zu schreiben,um eine Datei (.txt) spaeter zu vergleichen. Aber leider komme ich nicht weiter da meine Bash/perl Kenntnisse sehr wenig sind. Vielleicht kann einer von Euch mir weiter helfen. Ich versuche mein Problem zu skizzieren, da mein Deutsch nicht so gut ist. ich habe verschiedene Dateien (heissen immer snap*.txt) in verschiedene Verzeichnisse, aber die Anzahl dieser Verzeichnisse kann immer verschieden sein: -> /home/carlos/test1/la/snapla1.txt /home/carlos/test1/la1/snapla1.txt /home/carlos/test1/la2/snapla1.txt /home/carlos/test2/la/snapla1.txt /home/carlos/test2/la1/snapla1.txt /home/carlos/test2/la2/snapla1.txt /home/carlos/test2/la3/snapla1.txt [...] ich moechte wissen wieviele "test*" und "la*" Verzeichnisse es gibt. wieviele "la" Verzeichnisse zu jeden "test" Verzeichnisse gehoeren. (zB. in den obigen Bsp. hat der Verzeichnis "test1" 3 "la" Verzeichnisse.) Dann moechte ich alle snapla1.txt die zu einem "test" Verzeichnis gehoeren in einem einzige Datei haben. (zB. cat /test1/la/snapla1.txt /test1/la1/snapla1.txt >neueDatei.txt) ich weiss die Anzahl der Verzeichnisse mit ls -l|head -1|awk '{print $1}'. Ich habe es mit Hilfe eines "loop" versucht da ich den Wert der Verzeichnisse kenne. Aber es funktioniert nicht. Kann mir jemand helfen mit einen guten Tipp? Viele Dank, carlos ps. wenn diese Email schon angekommen war, tut mir leid, ich hatte Probleme mit meinem SMTP Server.
Hi, On Mon, 15 Sep 2003, suse_list suse wrote:
[... sechs mal die (fast) gleiche Mails ...]
Du hast wirklich grosses Glueck, das du auf eine oeffentliche, nicht auf eine SuSE-interne Liste postest. In dem Fall naemlich haette ich dich jetzt wirklich uebel beschimpft, dass dir und den anderen Lesern die Ohren klingeln wuerden.
ich moechte wissen wieviele "test*" und "la*" Verzeichnisse es gibt.
Wozu? Nur um durchzuiterieren? In dem Fall brauchst du die Anzahl nicht.
wieviele "la" Verzeichnisse zu jeden "test" Verzeichnisse gehoeren. (zB. in den obigen Bsp. hat der Verzeichnis "test1" 3 "la" Verzeichnisse.) Dann moechte ich alle snapla1.txt die zu einem "test" Verzeichnis gehoeren in einem einzige Datei haben. (zB. cat /test1/la/snapla1.txt /test1/la1/snapla1.txt >neueDatei.txt)
Dann so: for d in test*; do cat `find "$d" -name snapla1.txt` > "$d"/neueDatei.txt done Ciao, Micha.
participants (2)
-
Michael Matz
-
suse_list suse