Also
Code: Alles auswählen
convert *.pdf *.png
Ich hätte jedoch gerne, dass die *.png-Dateien bis auf die Endung den gleichen Namen haben wie die *.pdf-Dateien
Wie kann ich das bewerkstelligen?
Code: Alles auswählen
convert *.pdf *.png
Sicher?wodga hat geschrieben:Dieser code erzeugt jedoch als Ziel hochgezählte Dateien also *-1.png *-2.png etc.Code: Alles auswählen
convert *.pdf *.png
Code: Alles auswählen
for i in *.pdf ; do
convert "$i" "${i%pdf}png"
done
Die for-Schleife loest das Problem.Ich hätte jedoch gerne, dass die *.png-Dateien bis auf die Endung den gleichen Namen haben wie die *.pdf-Dateien
Code: Alles auswählen
ls -1 *.pdf | while read F; do convert $F `echo $F | sed -e "s/.pdf//"`.png; done
Code: Alles auswählen
for i in *pdf; do convert "$i" "${i%pdf}png"; done
Code: Alles auswählen
#! /bin/bash
# picconvert
if [ $# -ne 2 ]; then
echo "Falsche Eingabe!"
echo "Beispielaufruf: picconvert jpg png"
fi
for i in *.$1; do
if [ -f $i ]; then
printf "\rKonvertiere: $i "
convert "$i" "${i%$1}$2"
else
echo "Keine Datei mit der Endung $1 gefunden."
fi
done
printf "\n"
exit
Funktioniert schon, ist aber herrlich kompliziert. Warum while-read wenn man auch for nehmen kann? Gut, ueber ${...%...} kann man diskutieren ... aber ihr verwendet ja doch alle die Bash und die kann das schon sehr lange (immer?) und in POSIX ist's auch drin.wodga hat geschrieben:Hab's mir selbst ergoogelt:
es funktioniert auch...[...]Code: Alles auswählen
ls -1 *.pdf | while read F; do convert $F `echo $F | sed -e "s/.pdf//"`.png; done
Warum unflexibel? Man kann die Zeile doch jedes Mal individuell anpassen wenn man sie in die Shell tippt. Gerade darum hat Unix ja eine programmierbare Shell.JaKlaRo hat geschrieben: eine unflexible Lösung:Code: Alles auswählen
for i in *pdf; do convert "$i" "${i%pdf}png"; done
... aber der Mensch - oder zumindest ich - ist faul und träge und schreibt sich einmal ein kleines Skript, um dann weniger Tipparbeit zu haben.Meillo hat geschrieben: Warum unflexibel? Man kann die Zeile doch jedes Mal individuell anpassen wenn man sie in die Shell tippt. Gerade darum hat Unix ja eine programmierbare Shell.
Das kommt darauf an. Wenn du immer wieder genau die gleiche Konvertierung willst, dann lohnt sich ein Script. Wenn du aber convert immer wieder anders verwendest oder nicht alle Dateien konvertieren willst, dann kannst du die drei Zeilen auch gleich direkt tippen. Ein flexibles Script wird schnell sehr umfangreich und ist am Ende oft komplizierter zu bedienen als die drei Zeilen (mit voller Flexibilitaet) direkt einzutippen.JaKlaRo hat geschrieben:... aber der Mensch - oder zumindest ich - ist faul und träge und schreibt sich einmal ein kleines Skript, um dann weniger Tipparbeit zu haben.Meillo hat geschrieben: Warum unflexibel? Man kann die Zeile doch jedes Mal individuell anpassen wenn man sie in die Shell tippt. Gerade darum hat Unix ja eine programmierbare Shell.
Code: Alles auswählen
cat datei |cut -d";" -f2 | sort | uniq -c
Code: Alles auswählen
tmux a || tmux
Code: Alles auswählen
for i in *pdf; do convert "$i" "${i%pdf}png"; done
Ich kann, aber ich will nicht. Mach das selbst indem du dir die Hilfe zu den einzelnen Befehlem mit "help" oder "man" ansiehst.wodga hat geschrieben:Kann mir das jemand in "Klarsprech" übersetzen?
Es ist auch hilfreich hier im Forum einfach mitzulesen und versuchen die angegebenen Probleme zu lösen oder wenn die Lösung vorliegt diese wirklich am System nachzuvollziehen.Kann mir das jemand in "Klarsprech" übersetzen?