Bash Заклинания: различия между версиями
Перейти к навигации
Перейти к поиску
Artem (обсуждение | вклад) |
Artem (обсуждение | вклад) Нет описания правки |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 2: | Строка 2: | ||
* https://catonmat.net/bash-one-liners-explained-part-three | * https://catonmat.net/bash-one-liners-explained-part-three | ||
= Переделать все ссылки в php config = | |||
<pre> | |||
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 | |||
-//- | |||
</pre> | |||
= Извлечь все файлы ZIP в каждую папку = | = Извлечь все файлы ZIP в каждую папку = | ||
<pre> | <pre> | ||
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 *.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; | |||
</pre> | </pre> | ||
Строка 20: | Строка 31: | ||
<pre> | <pre> | ||
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; | 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; | ||
</pre> | |||
<pre> | |||
cat ./ratings | grep '255 => ' | sed -e 's/255 => //g' | while read i; do cp "${i}" ./5star/; done; | |||
</pre> | </pre> |
Текущая версия от 04:01, 10 февраля 2023
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;