Bash Заклинания

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

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

Переделать все ссылки в php config

cd /etc/php/fpm/conf.d
for i in `ls -1`; do id=`echo $i|awk -F\- '{print $1}'; `;name=`echo $i|awk -F\- '{print $2}'`;rm $i;ln -s ../../mods-available/$name $i;done;

cd /etc/php/cli/conf.d
-//-

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

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

ls -1 | awk -F\. '{print $1}' | while read LINE; do mkdir -p "../code/$LINE"; tar xvf "$LINE.tar.bz2" -C "../code/$LINE"; 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;