2016-08-09 32 views
1

Ich habe 10 Dateien. Ich kann sie mit find . -type f auflisten und was ich versuche zu erreichen, ist eine Nachricht an alle 10 Dateien zu senden, nachdem sie mit dem Befehl find gefunden wurden.Wie verwende ich echo mit find in bash?

Was ich versucht habe, find . -type f -exec echo "This file found" >> {} \;

Mai logisch sein Ich bin richtig, aber es funktioniert nicht. Gibt es eine Möglichkeit, die ich nur mit find und echo erreichen kann?

Danke

Antwort

4

Die Shell-Umleitung wird >> zunächst, mit dem Namen einer Datei getan {} wird, bevor auch die find startet erstellt werden und die Saiten (die Anzahl der Dateien dort sind) auf die geschrieben werden Datei {}.

Sie benötigen:

find . -type f -exec bash -c 'echo "This file found" >>"$1"' _ {} \; 
+0

Sie wieder, oh Mann. Woher weißt du diese vielen Dinge? : P sag nicht lernen. –

+0

@Raja Perfektes Timing ich schätze: P – heemayl

+0

Ja Heemayl. Danke nochmal. :) –