May 6th, 2008 by matthias
Beispiel: gegeben seien Dateinamen wie Uebung01.2002.html, nur die Nummern der
Übungen unterscheiden sich. Der Bestandteil »2002.« soll entfernt werden. Dazu gibt man in die Kommandozeile einfach ein:
-
for file in *; do mv "$file" "${file/2002./}"; done
Weiteres Beispiel: gegeben seien Dateinamen wie »U02e Liedtitel.txt«. Der Namensbestandteil bis (und inklusive des) ersten Leerzeichens soll entfernt werden. Dazu dient dieses Kommando:
-
shopt -s extglob; for file in *; do mv "$file" "${file/#*([^ ]) /}"; done; shopt -u extglob;
Weiteres Beispiel: gegeben seien irgendwelche Dateinamen, man möchte sie alle mit einer Endung ».xml« versehene.
Dazu dient dieses Kommando:
-
for file in *; do mv "$file" "$file".xml; done
Posted in Shellscripts | No Comments »
May 6th, 2008 by matthias
Man verwende:
-
pdftk file1.pdf file2.pdf cat output file.pdf
. Alternativ: Das Tool pdcat von www.pdf-tools.com.
Posted in Shellscripts | No Comments »
May 5th, 2008 by matthias
-
find . -group matthias-core -type d -print0 | xargs -0 chown -R matthias:matthias-core
Posted in Shellscripts | No Comments »
May 2nd, 2008 by matthias
Beispiel:
-
echo "255dfcf3fd470ef2892a991ffb67fcfb ooo112_osx_final.dmg.bz2" | md5sum –check
Dabei zu beachten:
- Als Typ der Datei wird »Text« angegeben (d.h. ein zus. Leerzeichen zwischen MD5-Hashwert und Dateiname in der Eingabezeile) und nicht »Binär« (d.h. ein * an dieser Stelle). Ansonsten kann md5sum die Datei nicht öffnen.
- Dateien werden relativ zum aktuellen Verzeichnis angegeben.
Posted in Shellscripts | No Comments »
May 1st, 2008 by matthias
-
# adjust line length to 76 chars max
-
# as globally replacing regexps are not applied to their own previous replacements and
-
# not to the 2nd+ lines if these were created by newlines in replacement, we need to
-
# break lines iteratively until there are no more ones to break:
-
echo -n; # trim exit status in $? to "0" with a no-op
-
while (( $? == 0 )); do
-
echo "debug: ed script: adjusting line length";
-
ed $silentOpt $tmpaddrbook << EDINEND
-
H
-
,s/\(.\{76\}\)\(.\+\)/\1\\
-
\2/
-
wq
-
EDINEND
-
done
Posted in Shellscripts | No Comments »
May 1st, 2008 by matthias
-
# delete 13th+ vcf entries (and accidentally 15th+ lines between vCards, but that doesn‘t hurt)
-
vcfEntryCount=0;
-
addrbook_max12="$(basename $tmpaddrbook .vcf).max12entries.vcf";
-
while read line; do # traverse $tmpaddrbook, read from while’s redirected stdin
-
if echo $line | grep -q "^BEGIN:VCARD" || echo $line | grep -q "^END:VCARD"
-
then
-
vcfEntryCount=0; # also to not remove up to 12 blank lines between vCards
-
echo $line >> $addrbook_max12;
-
else
-
(( vcfEntryCount += 1 ));
-
if (( vcfEntryCount <= 12 ))
-
then
-
echo $line >> $addrbook_max12;
-
else
-
echo "WARNING: if you want to protect loss of data, adjust this vCard manually to 12-14 entries";
-
fi
-
fi
-
done < "$tmpaddrbook"
-
mv $addrbook_max12 $tmpaddrbook;
Posted in Shellscripts | No Comments »
May 1st, 2008 by matthias
-
# join all consecuting lines with the preceding, removing a leading space
-
echo -e "H\n g/^ / s/^ //\\\n -,. j\n wq" | ed -s $tmpaddrbook;
Posted in Shellscripts | No Comments »
May 1st, 2008 by matthias
-
rm eBay.Artikel.Bilder.web/*;
-
for file in eBay.Artikel.Bilder.original/*.jpg; do convert -size 1024×768 -scale 1024×768 -quality 75 $file ${file/eBay.Artikel.Bilder.original/eBay.Artikel.Bilder.web};
-
done;
-
for file in eBay.Artikel.Bilder.web/*.jpg; do mv $file ${file/.jpg/.web.jpg}; done;
Posted in Graphikbearbeitung, Shellscripts | No Comments »
April 30th, 2008 by matthias
Mit dem Kommando »jar«. Aber die Dokumentation ist hier ungenügend. Die JAR-Datei kann nicht einfach so angegeben werden sondern muss hinter der Option »-f« angegeben werden. Also um den Inhalt eines JAR-Archivs zu listen:
Posted in Shellscripts | No Comments »
April 30th, 2008 by matthias
Es ist völlig in Ordnung nach Umwandlung in ein PDF-Facsimile die Bilddateien zu löschen aus denen man die PDF-Datei generiert hat. Denn man kann mit pdfimages und convert wieder die Bilddateien in identischer Form extrahieren wenn notwendig. Das gilt nicht nur für verlustfrei komprimierte Bilder sondern auch für in PDF-Dateien enthaltene JPG-Bilder (Abweichungen waren dabei optisch nicht festzustellen und die Dateigröße war fast identisch zu der des Original-JPG-Bildes). Auch wenn das mit pdfimages generierte PDF einen höheren Qualitätswert hat sind Abweichungen nicht feststellbar, jedoch ergibt sich eine unnötig größere Datei. Also sollte man wissen welche Qualität die in der PDF-Datei enthaltenen JPG-Bilder haben. Beispiel:
-
pdfimages buch.pdf buch;
-
convert -quality 45 buch-000.ppm buch-000.jpg;
Dabei sollte man noch beachten dass man die Art der Bilder in der PDF-Datei im Dateinamen vermerken sollte um nachher zu wissen wie man die Bilder speichern sollte um kleinste Dateigröße zu erreichen und Qualitätsverluste zu vermeiden. Beispiele:
-
file1.300dpi.png.1bpp.pdf
-
file2.200dpi.jpg.80perc.pdf
Posted in Shellscripts | No Comments »