Архива.ч
Добавить
Войти
Светлый стиль
Тёмный стиль
Дополнительно
Стиль сайта
Arhivach (по умолчанию)
Darkstrap (Neutron-like)
Стиль тредов
Arhivach (по умолчанию)
Neutron
FAQ
Контакты
Помощь сайту
Дополнения
Случайный тред
Старые архивы
Статус системы
API
Сохранен
6
https://2ch.su/s/res/1122538.html
/s/ - Программы
2ch
К сожалению, значительная часть сохранённых до 2024 г. изображений и видео была потеряна (
подробности случившегося
). Мы призываем всех неравнодушных
помочь нам
с восстановлением утраченного контента!
Аноним
08/01/15 Чтв 17:04:13
#1
№1122538
14207258539010.jpg
ITT в этом треде UNIX-господа постят последний написанный ими скрипт для автоматизации своих задач, ну и конечно же ссут в ебло DOSоблядкам.
Я начну. Скрипт сортирует загрузки по mime типу.
[code]#!/bin/bash
DOWNLOADS='/home/anon/downloads'
SORTED='/home/anon/stuff/dlsorted'
file -N --mime-type --print0 "$DOWNLOADS"/
|
while read -r -d $'\0' path && read -r mime;
do
if ! [ -f "$path" ]
then
continue
fi
filename="${path##
/}"
if ! [[ $mime =~ ^\:\ (.[a-z]
)/ ]]
then
echo "doesn't parse file output"
exit 1
fi
mime=${BASH_REMATCH[1]}
mkdir -p "$SORTED/$mime"
if ! [ $? == 0 ]
then
exit 1
fi
dest="$SORTED/$mime"
if [ -e "$SORTED/$mime/$filename" ]
then
if ! [[ $filename =~ ^(.[^\.]
)(.) ]]
then
echo "doesn't parse filename"
exit 1
fi
name=${BASH_REMATCH[1]}
ext=${BASH_REMATCH[2]}
for (( num=1; ; num++ ))
do
dest="$dest/${name}_($num)$ext"
if ! [ -e "$dest" ]
then
break
fi
done
fi
mv "$DOWNLOADS/$filename" "$dest"
done
exit 0
[/code]
Аноним
08/01/15 Чтв 17:08:34
#2
№1122543
>>1122538
Опять эта хуйня.
http://pastebin.com/byWgvv3v
Аноним
08/01/15 Чтв 17:10:34
#3
№1122546
Последний написанный мной скрипт сохраняет треды с харкача, лол. При вызове во второй раз не перекачивает все заново, а грузит только новые картинки/webm. Могу запостить, если кому надо.
Аноним
08/01/15 Чтв 17:41:58
#4
№1122582
>>1122546
Показывай свою реализацию. У меня сохраняет лишь файлы, сам тред в json является побочным результатом.
http://pastebin.com/JVyMt8BP
Аноним
08/01/15 Чтв 19:17:09
#5
№1122656
>>1122582
Держи:
http://pastebin.com/dCTiq80G
Аноним
08/01/15 Чтв 20:21:46
#6
№1122692
>>1122543
Исправил часть быдлокода:
http://pastebin.com/diff.php?i=MJC2927Z
Олсо, в скрипте была ошибка: dest="$dest/${name}_($num)$ext" выполнялось при каждом увеличении $num.
Please enable JavaScript to view the
comments powered by Disqus.
comments powered by
Disqus
Я начну. Скрипт сортирует загрузки по mime типу.
[code]#!/bin/bash
DOWNLOADS='/home/anon/downloads'
SORTED='/home/anon/stuff/dlsorted'
file -N --mime-type --print0 "$DOWNLOADS"/ |
while read -r -d $'\0' path && read -r mime;
do
if ! [ -f "$path" ]
then
continue
fi
filename="${path##/}"
if ! [[ $mime =~ ^\:\ (.[a-z])/ ]]
then
echo "doesn't parse file output"
exit 1
fi
mime=${BASH_REMATCH[1]}
mkdir -p "$SORTED/$mime"
if ! [ $? == 0 ]
then
exit 1
fi
dest="$SORTED/$mime"
if [ -e "$SORTED/$mime/$filename" ]
then
if ! [[ $filename =~ ^(.[^\.])(.) ]]
then
echo "doesn't parse filename"
exit 1
fi
name=${BASH_REMATCH[1]}
ext=${BASH_REMATCH[2]}
for (( num=1; ; num++ ))
do
dest="$dest/${name}_($num)$ext"
if ! [ -e "$dest" ]
then
break
fi
done
fi
mv "$DOWNLOADS/$filename" "$dest"
done
exit 0
[/code]