[Flug] shell programmierung

Uwe Kleine-König ukleinek at lug-freiburg.de
Fr Jul 16 08:20:24 CET 2010


On Thu, Jul 15, 2010 at 10:47:27PM +0200, Jan-Benedict Glaw wrote:
> On Thu, 2010-07-15 15:28:51 +0200, Axel Eble <Axel at Eble.Name> wrote:
> > On Thu, Jul 15, 2010 at 01:15:34PM +0200, Arno Steffens wrote:
> > > Wie kann ich denn per Befehlszeile eine Sammlung von Files mit checksumme versehen.
> > > 
> > > Ich dachte an etwas wie
> > > 
> > > "find . | xargs md5sum > *.md5"
> > 
> > Am einfachsten mit einem kleinen skript:
> > 
> > find . -type 5 -exec mkmd5sum {} \;
> > 
> > mkmd5sum:
> > #!/usr/bin/env bash
> > 
> > if [ "X$1" -eq "X" ]; then
> >    echo "error: no filename"
> >    exit -1
> > fi
> > md5sum $1 > $1.md5
> 
> Hier fehlt noch ein wenig Quoting.
/me würde vorschlagen:

mkmd5sum:
-------------------->8---------------------
#! /bin/sh

for f do
	case "$f" in
	*.md5)
		# skip
		;;
	*)
		md5sum "$f" > "$f"
		;;
	esac
done
-------------------->8---------------------

und dann

	find . -type f -execdir mkmd5sum +

Das "dir" in execdir hat nicht nur Vorteile bei der Sicherheit sondern auch,
dass keine Pfadangaben in den .md5-Dateien stehen.

Grüßle
Uwe



Mehr Informationen über die Mailingliste Flug