Sie können Ihre find
Ausgabe in Array, wenn Sie die Ausgabe später als verwenden möchten:
array=($(find . -name "*.txt"))
Um nun die einzelnen Elemente in einer neuen Zeile zu drucken, können Sie entweder for
Schleife, die alle Elemente des Arrays durchläuft, oder Sie können die printf-Anweisung verwenden.
for i in ${array[@]};do echo $i; done
oder
printf '%s\n' "${array[@]}"
Sie können auch verwenden:
for file in "`find . -name "*.txt"`"; do echo "$file"; done
Damit wird jeder Dateiname mit einem Zeilenumbruch ausgegeben
Um nur den Druck der find
in Listenform ausgeben möchten, können Sie eine der folgenden Möglichkeiten nutzen:
find . -name "*.txt" -print 2>/dev/null
oder
find . -name "*.txt" -print | grep -v 'Permission denied'
Dadurch werden Fehlermeldungen entfernt und nur der Dateiname als Ausgabe in einer neuen Zeile ausgegeben.
Wenn Sie etwas mit den Dateinamen machen wollen, ist es gut, sie in einem Array zu speichern, andernfalls ist es nicht nötig, diesen Platz zu verbrauchen und Sie können direkt die Ausgabe von find
.