You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
217 lines
7.4 KiB
217 lines
7.4 KiB
#!/bin/bash |
|
|
|
prefix='al_' |
|
|
|
mkalias_with_prefix() |
|
{ |
|
alias ${prefix}$1="$1" |
|
} |
|
|
|
pdf_a5() |
|
{ |
|
[ $1 == '' ] && printf "Преобразование pdf к формату А5\nОшибка! Укажите входной файл\n" && return |
|
pdfjam "$1" --scale 0.71 --offset '0 50mm' -o "a5_$1" |
|
} |
|
mkalias_with_prefix 'pdf_a5' |
|
|
|
pdf_a6() |
|
{ |
|
[ $1 == '' ] && printf "Преобразование pdf к формату А6\nОшибка! Укажите входной файл\n" && return |
|
pdfjam "$1" --scale 0.5 --offset '0 75mm' -o "a6_$1" |
|
} |
|
mkalias_with_prefix 'pdf_a6' |
|
|
|
pdf_pagenum() |
|
{ |
|
[ $1 == '' ] && printf "Добавить номер страницы в pdf\nОшибка! Укажите входной файл\n" && return |
|
pdfjam --preamble '\usepackage{fancyhdr} \pagestyle{fancy} \topmargin -65pt \oddsidemargin 150pt \rfoot{} \cfoot{} \rhead{} \chead{\Large\thepage} \renewcommand {\headrulewidth}{0pt} \renewcommand {\footrulewidth}{0pt} ' --pagecommand '\thispagestyle{fancy}' -o "pagenum_$1" "$1" |
|
} |
|
mkalias_with_prefix 'pdf_pagenum' |
|
|
|
pdf_contrast_correct() |
|
{ |
|
[ $1 == '' ] && printf "Корректировка контраста в pdf\nОшибка! Укажите входной файл\n" && return |
|
mkdir tmp |
|
convert -density 300 $1 tmp/output-%03d.jpg |
|
convert tmp/output*.jpg -normalize -threshold 60% tmp/final-%03d.jpg |
|
# convert tmp/output*.jpg -level 0% tmp/final-%03d.jpg |
|
convert tmp/final*.jpg new_$1 |
|
} |
|
mkalias_with_prefix 'pdf_contrast_correct' |
|
|
|
pdf_gamma_correct() |
|
{ |
|
[ $1 == '' ] && printf "Корректировка гаммы в pdf\nОшибка! Укажите входной файл\n\nВходные параметры: file gamma\n" && return |
|
gamma=$2 |
|
[ gamma == '' ] && gamma=3 && printf "Выбрана гамма '${gamma}'" |
|
|
|
mkdir tmp |
|
convert -density 300 $1 tmp/output-%03d.jpg |
|
convert tmp/output*.jpg -gamma ${gamma} tmp/final-%03d.jpg |
|
# convert tmp/output*.jpg -level 0% tmp/final-%03d.jpg |
|
convert tmp/final*.jpg new_$1 |
|
} |
|
mkalias_with_prefix 'pdf_gamma_correct' |
|
|
|
pdf_all_to_one_file() |
|
{ |
|
in_files_pattern=$1 |
|
[ in_files_pattern == '' ] && in_files_pattern='*.pdf' && printf "Выбран шаблон '${in_files_pattern}'\n" |
|
|
|
convert -density 300 "${in_files_pattern}" -density 300 all.pdf |
|
} |
|
mkalias_with_prefix 'pdf_all_to_one_file' |
|
|
|
alias ${prefix}archive_each_file_into_separate_archive="find . -mindepth 1 -maxdepth 1 -type f -exec tar -cvzf 'out/{}.tgz' '{}' \;" |
|
|
|
unicode_U200B_correct () |
|
{ |
|
[ $1 == '' ] && printf "Корректировка ошибки в latex U200B\nУкажите входной файл" && return |
|
perl -CSD -pe "s/\N{U+200B}//gu" < $1 > noU200B_$1 |
|
} |
|
mkalias_with_prefix 'unicode_U200B_correct' |
|
|
|
festival_txt2mp3 () |
|
{ |
|
[ $1 == '' ] && printf "Озвучивание текста\nУкажите входной текстовый файл. Выходной будет с тем же именем, но mp3\n" && return |
|
in_file=$1 |
|
out_wav_file_name="$1.wav" |
|
out_mp3_file_name="$1.mp3" |
|
cat "$1" | sed 's/[^a-zA-ZА-Яа-я0-9., ]//g' | text2wave -o "$out_wav_file_name" |
|
lame "$out_wav_file_name" "$out_mp3_file_name" |
|
rm "$out_wav_file_name" |
|
} |
|
mkalias_with_prefix 'festival_txt2mp3' |
|
|
|
encode_240() |
|
{ |
|
[ $1 == '' ] && printf "Перекодирование видео в формат 240*180\nУкажите входной шаблон. Например '*.mp4'\n" && return |
|
for filename in "$1"; do |
|
echo "Take '${filename}'"; |
|
if [ -f "${filename}" ]; then |
|
echo "Make '${filename}'"; |
|
ffmpeg -i "${filename}" -vcodec libx264 -vb 50K -s 240x180 -acodec libmp3lame -ab 16K -strict -2 "${filename}_240.mkv" |
|
fi |
|
done |
|
} |
|
mkalias_with_prefix 'encode_240' |
|
|
|
union_video_and_audio() |
|
{ |
|
[ $1 == '' ] && printf "Объедидение видео и аудио\nУкажите входной файл видео и аудио. Например: 1.mp4 1.wav\n" && return |
|
ffmpeg -i $1 -i $2 -c:a aac -b:a 128k -vcodec copy -map 0:v -map 1:a o.mp4 |
|
} |
|
mkalias_with_prefix 'union_video_and_audio' |
|
|
|
vd='~/.local/bin/yt-dlp' |
|
alias ${prefix}download_yt_dlp="${vd}" |
|
|
|
download_worst() |
|
{ |
|
cmd="${vd} -f 'worst/worstvideo+worstaudio' -R 10000 -i -o '%(upload_date)s-%(title)s-%(id)s.%(ext)s' $1" |
|
eval $cmd |
|
} |
|
mkalias_with_prefix 'download_worst' |
|
|
|
download_best() |
|
{ |
|
cmd="${vd} -f 'best/bestvideo+bestaudio' -R 10000 -i -o '%(upload_date)s-%(title)s-%(id)s.%(ext)s' $1" |
|
eval $cmd |
|
} |
|
mkalias_with_prefix 'download_best' |
|
|
|
download_worst_audio() |
|
{ |
|
cmd="${vd} -f 'worstaudio' -R 10000 -i -o '%(upload_date)s-%(title)s-%(id)s.%(ext)s' $1" |
|
eval $cmd |
|
} |
|
mkalias_with_prefix 'download_worst_audio' |
|
|
|
download_format_list() |
|
{ |
|
cmd="${vd} -F $1" |
|
eval $cmd |
|
} |
|
mkalias_with_prefix 'download_format_list' |
|
|
|
download_custom() |
|
{ |
|
cmd="${vd} -f $1 -R 10000 -i -o '%(upload_date)s-%(title)s-%(id)s.%(ext)s' $2" |
|
eval $cmd |
|
} |
|
mkalias_with_prefix 'download_custom' |
|
|
|
alias ${prefix}gen_password='pwgen -n 16' |
|
|
|
cur_dir=${alias_dir} |
|
alias parse_arg_lib='${cur_dir}/../video_tools/parse_arg_lib' |
|
alias ${prefix}img_and_wav2video='${cur_dir}/../video_tools/img_and_wav2video' |
|
alias ${prefix}union_video_and_audio='${cur_dir}/../video_tools/union_video_and_audio.bash' |
|
|
|
all_to_djvu() |
|
{ |
|
[ ${in_files_pattern} == '' ] && printf "Объедидение файлов в djvu\nУкажите входной шаблон. Например '*.jpg'\n" && return |
|
in_files_pattern=$1 |
|
for i in ${in_files_pattern}; do bmptopnm $i > pnm/$i.pnm; done |
|
for i in *; do c44 -dpi 300 -slice 60+7+7 $i $i.djvu; done |
|
djvm -c new.djvu *.djvu |
|
} |
|
mkalias_with_prefix 'all_to_djvu' |
|
|
|
resize_and_del_exif() |
|
{ |
|
search_template=$1 |
|
[ "${search_template}" == '' ] && printf "Изменение размера и удаление exif\nУкажите входной шаблон файлов и ширину. Например: '*.jpg' 1024\n" && return |
|
|
|
image_width=$2 |
|
[ "${image_width}" = "" ] && image_width="1024" && printf "Выбрана ширина '${image_width}'\n" |
|
|
|
for entry in "$search_template" |
|
do |
|
echo "${entry}" |
|
convert "${entry}" -resize ${image_width} -strip "new.jpg" |
|
done |
|
} |
|
mkalias_with_prefix 'resize_and_del_exif' |
|
|
|
ssh_del_known_host() |
|
{ |
|
in_host_pattern=$1 |
|
[ "${in_dev}" = "" ] && printf "Укажите шаблон адреса, например '192.168.1.'\n" && return |
|
eval "sudo cp -u ~/.ssh/known_hosts ~/.ssh/known_hosts.backup && cat ~/.ssh/known_hosts.backup | grep -v ${in_host_pattern} > ~/.ssh/known_hosts" |
|
} |
|
mkalias_with_prefix 'ssh_del_known_host' |
|
|
|
ssh_for_openwpt_10.3_kamikadze() |
|
{ |
|
in_host_pattern=$1 |
|
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c 3des-cbc ${in_host_pattern} |
|
|
|
} |
|
mkalias_with_prefix 'ssh_for_openwpt_10.3_kamikadze' |
|
|
|
hdd_fill_zero() |
|
{ |
|
in_dev=$1 |
|
[ "${in_dev}" = "" ] && printf "Заполнить диск нулями.\nОшибка! Укажите файл устройства. Например /dev/sdb.\n" && return |
|
sudo pv < /dev/zero > ${in_dev} |
|
} |
|
mkalias_with_prefix 'hdd_fill_zero' |
|
|
|
hdd_fill_random() |
|
{ |
|
in_dev=$1 |
|
[ "${in_dev}" = "" ] && printf "Заполнить диск рандомом.\nОшибка! Укажите файл устройства. Например /dev/sdb.\n" && return |
|
sudo pv < /dev/urandom > ${in_dev} |
|
} |
|
mkalias_with_prefix 'hdd_fill_random' |
|
|
|
hdd_check_zero() |
|
{ |
|
in_dev=$1 |
|
[ "${in_dev}" = "" ] && printf "Проверить, что диск заполнен нулями.\nОшибка! Укажите файл устройства. Например /dev/sdb.\n" && return |
|
sudo pv ${in_dev} | od | head |
|
} |
|
mkalias_with_prefix 'hdd_check_zero' |
|
|
|
|
|
|