[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bash-Skript in Ordnern und Unterordnern abarbeiten



On lundi 12 décembre 2016 22:33:37 CET Thilo Engelbracht wrote:
> Am 12.12.2016 um 21:34 schrieb Klaus Becker <colonius@free.fr>:
> > n'Abend,
> 
> Hallo Klaus,
> 
> > ich habe auf meiner FP jede Menge Fernsehsendungen und möchte die Namen
> > vereinfachen, etwa so:
> > 
> > 20141230_2015-VOX-Tierischer_Jahresrueckblick.ts
> > => tierischer_jahresrueckblick.mpg
> > 
> > Dazu habe ich mir ein Skript geschrieben, das funktionniert, aber nicht in
> > Unterordnern.
> > 
> > Ich habe Serien aufgenommen wie z. B. Yakari, und ohne das Datum und den
> > Fernsehsender haben die Dateien alle den gleichen Namen. Daher numeriere
> > ich alle Dateien (und gebe ihnen die Endung "mpg") zunächst mit
> > 
> > declare -i i=1
> > for file in $(find -name "*"); do
> > mv $file $(echo $file | sed s/$/$i.mpg/g)
> > (( i = i + 1 ))
> > done
> > 
> > Das funktionniert aber nicht in Unterordnern, und ich weiss nicht, wie ich
> > das hinkriegen soll. "find . -type d" gibt Ordner und Unterordner an,
> > aber was mache ich dann damit?
> > 
> > Ich vermute, ich muss dem Skript beibringen, nacheinander in alle
> > Unterordner zu gehen und dort die Befehle jeweils abzuarbeiten, das
> > schaffe ich aber nicht.
> > 
> > Gibt es da eine Lösung oder muss ich die Unterordner jeweils händisch
> > angeben?
> In der Manpage von "find" gibt es den Hinweis auf die Option "-print0". Im
> Zusammenspiel mit "xargs" und der Option "-0" (Null, kein O) bekommst Du
> genau das, was Du haben möchtest.
> 
> Beispiel: Alle Dateien in einem Verzeichnis inkl. Unterverzeichnisse
> ermitteln und Prüfsumme ermitteln:
> 
>      find . -type f -print0 | xargs -r -0 sha512sum
> 
> > schönen Abend
> > 
> > Klaus
> 
> Liebe Grüße
> 
> Thilo


Hallo Thilo,

danke für den Hinweis.

Aber wie bringe ich das mit meinen obigen Zeilen (declare ...) zusammen?

LG

Klaus


Reply to: