Hallo flo, * Florian Gross schrieb am 24.Jun.2003:
Du machst dir das zu einfach. cat gibt wohl Dateiinhalte aus, aber in deinem Fall weiß das arme cat ja nicht mal, was es machen soll. Du machst dir das etwas zu einfach. So wie du das machen willst, mußt du erst die Dateinamen ermitteln und dann jeden Dateinamen an cat übergeben, also in der Art: find -iname "*.txt" | cat text1 text 2 usw.
Hä?
Das geht natürlich viel eleganter, nur weiß ich nicht, wie man sowas macht. Das wissenaber sicher andere hier. ;-)
Aber ich hoffe, daß du wenigstens erkennst, was dein Denkfehler war. (und daß ich mich halbwegs verständlich ausgedrückt habe)
Nein. ;) cat gibt die Inhalte von Dateien aus und hängt sie aneinander (conCATernat) Dabei gibt cat einfach die Inhalte der Dateien aus, die im Argument stehen, dabei steht - für die Standardeingabe. Wenn es kein Argument gibt, so wird ebenfalls die Standardeingabe genommen. Ist übrigens ein typisches Verhalten für Linuxbefehle. Bei Deiner obigen Zeile find -iname "*.txt" | cat text1 text2 schreibt find zwar was in die pipe rein, aber cat liest nichts aus, sondern gibt den Inhalt von text1 und von text2 aus. Was Dein Vorredner wollte ist in etwa das, was xargs macht. Bernd -- Alle meine Signaturen sind rein zufällig und haben nichts mit dem Text oder dem Schreiber zu tun, dem ich antworte. Falls irgendwelche Unrichtigkeiten dabei sein sollten, so bedauere ich das. Es wäre nett, wenn Du mich benachrichtigen würdest. |Zufallssignatur 0