Ich habe einige Dateien auf meinem Projekt Erweiterungen wie .md.
mit Ich mag diese Dateien all .html
durch die Befehl finden konvertieren.
Der Befehl I ist eine markdown
Datei zu html
konvertieren verwenden:
md2html file.md > file.html
Wie kann ich es tun?
Und wenn ich die HTML-Dateien in einem anderen Verzeichnis speichern möchte?, wie man Dateien konvertieren Abschlag mit Befehl find html
Antwort
Verwenden find/read
Befehlskombination, dies zu tun:
find /your/path/to/mdfiles -type f -name "*.md" -printf "%f\0"\
| while read -rd '' filename
do
md2html "${filename}" "/your/html/dir/${filename%.md}.html"
done
sollte es tun.
erklärt
find /your/path/to/mdfiles -type f -name "*.md"
alle Dateien findet, die die Erweiterung.md
haben.- Wir analysieren die Ergebnisstrings/Dateinamen mit
while-read -rd ''
${filename%.md}
die.md
am Ende jeden Dateinamen- So
${filename%.md}.html
trimmt die.md
trimmen und fügt.html
md2html ${filename} "${filename%.md}.html"
macht den Job für jede Datei, die durch die übergebene Befehl finden.-printf "%f\0"
gibt Ihnen die Null-terminierte Datei Basisnamen, die nützlich ist, wenn Sie die Dateien in ein anderes Verzeichnis kopieren möchten.
Etwas kürzer vresion
find . -type f -name "*.md" -printf "%f\0" -exec bash -c 'md2html "$1" "/your/html/dir/${1%.md}.html"' _ {} \;
ersetzen /your/html/dir/
mit your path
zu tun, es ist nur das Drucken, keine Dateien von HTML-Erstellung – Albert
@Albert Leider ein redundantes '-print0' im Drehbuch war, das ich gerade entfernt haben. Bitte versuche beide Versionen und lemme das Ergebnis – sjsam
Noch eine Frage, wenn ich nur den Dateinamen ohne den ganzen Pfad aufnehmen möchte, was muss ich hinzufügen? – Albert
Man könnte es so etwas wie:
find path -type f -name "*.md" -exec sh -c 'md2html "${0}" > "${0%md}.html"' {} \;
- Pfad, den Sie Verzeichnis geben müssen, in dem Sie nach MD-Dateien suchen möchten.
- Typ besagt, dass Sie nach Dateien und nicht nach Verzeichnissen suchen möchten.
- Name besagt, dass Sie nach allen Dateien mit MD-Erweiterung suchen möchten.
- exec würde den Befehl für Dateien ausführen, die gefunden wurden.
Du kannst das leicht ändern, um eine Ausgabedatei von' foo.html' statt 'foo.md.html' zu erhalten : '-exec sh -c 'md2html" $ 0 "" $ {0% md} html "' {} \;'. Dadurch werden auch Probleme vermieden, wenn eine gefundene Datei Leerzeichen oder andere Zeichen enthält, die in ihrem Dateinamen zitiert werden müssen. – chepner
Ja danke @chepner, das macht Sinn .... – SMA
- 1. Wie find-Befehl mit Powershell
- 2. mit < and > mit Batch-Dateien (FIND-Befehl)
- 3. Wie entgeht man Backticks im Abschlag?
- 4. WMD Abschlag Editor - HTML zu Markdown Umwandlung
- 5. Sed nicht mit Befehl find arbeiten
- 6. Find Befehl mit Regex für mehrere Dateierweiterungen
- 7. Wie umleiten Ergebnis "! Find ..." Befehl, um lftp Befehl
- 8. Unix-FIND-Befehl in Groovy
- 9. Warum sucht der Befehl ReSharper Find Usages resx-Dateien?
- 10. Wie JPG-Dateien in Png-Dateien mit Linux-Befehl konvertieren? + Schwierigkeitsgrad = Unterordner
- 11. bash: -exec in Befehl find und &
- 12. Konvertieren von Bibtex-Dateien in HTML mit Python (vielleicht Pybtex?)
- 13. Mit Regex in find-Befehl für mehrere Dateitypen
- 14. Wie finde ich Dateien, die einen bestimmten String im Verzeichnis enthalten, mit dem Befehl "find"?
- 15. Befehl find nicht das Drucken von Dateien mit der Endung .wav wie angegeben
- 16. Der Befehl 'find' innerhalb awk nicht funktioniert
- 17. Platzhalter und doppelte Anführungszeichen mit Befehl find -name
- 18. Wie ein neuen Abschlag Cue Verlängerung ein anderes mit Python-Abschlag
- 19. Mehrere Dateien mit pdf2htmEX konvertieren
- 20. Befehl find Suche nur nicht versteckt Verzeichnisse
- 21. Welche Auszeichnungssprache? Abschlag oder?
- 22. Wie kann man mit UNIX find suchen (file1 ODER file2)?
- 23. .BAT konvertieren Befehl mit .ICC Farbprofil
- 24. Befehl ausführen auf von grep zurückgegebenen Dateien
- 25. Wie färbt man Text in Githubs gewürztem Abschlag?
- 26. Wie synchronisiert man alle HTML-Dateien mit gulp browsersync?
- 27. Warum funktioniert zsh globbing nicht mit dem Befehl find?
- 28. bash Array von Befehl find Länge
- 29. Wie verwende ich den Unix-Befehl "find", um alle cpp- und h-Dateien zu finden?
- 30. Wie bekomme ich den 'find' Befehl, um die Dateien im .git/Verzeichnis zu überspringen?
Use'find' Befehl dieses – sjsam