
Ich versuche, die Ausgabe eines Befehls als Argumente zu verwenden:
Der Befehl:
/home/alexandre/dropbox.py exclude add ls | grep -v photos
Ich muss eine Liste von Dateien hinzufügen, zum Beispiel:
/home/alexandre/dropbox.py exclude add a.txt b.txt c.txt
ls | grep -v photos
gibt mir eine Liste aller Dateien außer dem Ordner photos
.
Aber wenn ich meinen Befehl verwende, fügt der Befehl eine Ausnahme für die Datei hinzu ls
(die nicht existiert, ich möchte den Befehl ausführen ls
).
Weiß jemand, wie das geht?
Antwort1
Sie möchten den Befehl in einer Subshell ausführen, etwa:
/home/alexandre/dropbox.py exclude add $(ls | grep -v photos)
Antwort2
Verwenden find
:
find . -path ./photos -prune -o -type f -iname '*.txt' -exec /home/alexandre/dropbox.py exclude add {} +