Die Verwendung {}
ist in manchen Situationen nicht flexibel genug. Dies scheint einer von denen zu sein.
Eine mögliche Problemumgehung wäre für -exec
ein Skript find
wie folgt:
find . -name '*.htm' -exec ./convert-to-md.sh {} \;
Die Skriptdatei sollte in Abhängigkeit von der genauen pandoc
Befehlszeile ähnlich aussehen :
#!/bin/bash pandoc -f html -t markdown -o "$" "$"
Wenn Sie dafür keine Skriptdatei erstellen und speichern möchten, können Sie den Skriptcode jederzeit einbetten bash
:
find . -name '*.htm' | xargs -n 1 bash -c 'pandoc -f html -t markdown -o "$" "$"' -
Das zusätzliche -
am Ende dient zum Ausfüllen $0
von bash, das normalerweise den Namen des Shell-Skripts und die positionellen Argumente enthält, die mit beginnen $0
.
Dadurch können Sie die Verwendung fortsetzen find
(auch wenn Sie mit -print0
und xargs -0
mit seltsamen Dateinamen umgehen), müssen jedoch keine separate Datei erstellen.