Bash Заклинания

Материал из Artem Aleksashkin's Wiki
Перейти к навигации Перейти к поиску

Bash - мощный инструмент - набрал заклинание и в космос

Извлечь все файлы ZIP в каждую папку

ls -1 *.zip | while read LINE; do dir=`echo $LINE | sed -e 's/.zip$//g'`; mkdir -p "$dir"; unzip "$LINE" -d "$dir"; done;

Переименовать все файлы в текущем каталоге в числовое имя с ведущими нулями

i=0;ls -1t | while read LINE; do i=$((i+1));filename=`echo $LINE`;extension="${filename##*.}";newfilename=$(printf "%06d" $i); mv "$filename" "$newfilename.$extension"; done;

Создать базу с мд5 хэшами мп3 файлов

find . -name '*.mp3' | while read i; do echo `md5sum "${i}" | awk '{print $1}'`" => ${i}" >> md5s;done;

Создать базу с рейтингами мп3 файлов из программы трактор про

find . -name '*.mp3' | while read i; do rating=`eyeD3 "${i}" 2>/dev/null | grep rating | awk -F\[ '{print $3}'  | awk -F\] '{print $1}' | awk '{print $2}'`;if [ ! -z "$rating" ]; then echo "${rating} => ${i}" >> ratings;fi;done;
cat ./ratings  | grep '255 => ' | sed -e 's/255 => //g' | while read i; do cp "${i}" ./5star/; done;