Bash Заклинания: различия между версиями

Материал из Artem Aleksashkin's Wiki
Перейти к навигации Перейти к поиску
Нет описания правки
 
(не показаны 3 промежуточные версии этого же участника)
Строка 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>


Строка 16: Строка 27:
<pre>
<pre>
find . -name '*.mp3' | while read i; do echo `md5sum "${i}" | awk '{print $1}'`" => ${i}" >> md5s;done;
find . -name '*.mp3' | while read i; do echo `md5sum "${i}" | awk '{print $1}'`" => ${i}" >> md5s;done;
</pre>
= Создать базу с рейтингами мп3 файлов из программы трактор про =
<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;
</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;