Hvem fanden er den general?
Hvem fanden er den general?

Gennemgå og udfør handling på filer i bash

Her lige et lille eksempel på hvordan man løber filer igennem som ligger i en mappe i bash. Samtidig kan man se progress.

# loop all files and show progress
i=1
b=1
for file in mappe/*.gz
do
    echo -n "["
    for ((j=0; j<i; j++)) ; do echo -n '='; done
    echo -n '=>'
    for ((j=i; j<$res/5; j++)) ; do echo -n ' '; done
    echo -n "] $b / $res $file" $'\r'
    ((b++))
    if [ $((b%5)) -eq 0 ] ; then
       ((i++))
    fi

    gzip -d $file
done

Her har jeg valgt at løbe gennem en mappe med gzip filer og pakke dem ud.

Hvis du prøver at køre den vil du kunne se at den laver en lille fin progress bar og skriver hvor mange filer der er og hvor mange den er færdig med 🙂

Leave a comment

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

This site uses Akismet to reduce spam. Learn how your comment data is processed.