Hallo, Am Wed, 01 Sep 2004, Thomas Hofer schrieb:
Jan Trippler wrote: [Wednesday 01 September 2004 22:41]
ls *[A-Z]* | while read gross; do klein="`echo "$gross" | tr '[:upper:]' '[:lower:]'`" test -f "$klein" && rm "$klein" done
Jan, du musst arg muede sein ;)
Bei *[A-Z]* vermengst du Glob-Syntax mit Regex-Syntax. Mit dem angegebenen Ausdruck erhälst du alle Files, die mindestens einen Großbuchstaben enthalten.
Korrekt. Und das quoting von "$gross" passt nicht. ==== ls | grep '^[[:upper:]]\+$' | while read gross; do klein="`echo \"$gross\" | tr '[:upper:]' '[:lower:]'`" cmp -s "$gross" "$klein" && test -f "$klein" \ && test ! -h "$klein" && echo rm -f "$klein" done ==== Das obige sollte mit allen Dateinamen, die kein '\0' und kein '\n' enthalten klarkommen, das rm ist erstmal entschaerft. Den Test auf symlink kann man ggfs. weglassen. Das ganze kann man natuerlich so umdrehen, dass die grossbuchstabigen Versionen geloescht werden. ==== ls | grep '^[[:upper:]]\+$' | while read gross; do klein="`echo \"$gross\" | tr '[:upper:]' '[:lower:]'`" cmp -s "$gross" "$klein" && test -f "$gross" \ && test ! -h "$gross" && echo rm -f "$gross" done ==== Man kann natuerlich auch nach den kleinen Versionen suchen. -dnh --
Stop it, I can't hear the signal through all this noise. The frequency of these cascades really Hertz. Watt? -- in asr