- 1
- 2
- 3
- 4
- 5
- 6
- 7
#! /bin/sh
htmlvar=`curl -# $1`
serv=`echo $htmlvar| pcregrep -o -e "srv\'\:[^,]+"|pcregrep -o "http[^']+"`
filevar=`echo $htmlvar| pcregrep -o "'file':[^,]+"|pcregrep -o "\d{1,10}[^']+"`
urlvar=$serv'flv2/'$filevar
echo $urlvar
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−140
#! /bin/sh
htmlvar=`curl -# $1`
serv=`echo $htmlvar| pcregrep -o -e "srv\'\:[^,]+"|pcregrep -o "http[^']+"`
filevar=`echo $htmlvar| pcregrep -o "'file':[^,]+"|pcregrep -o "\d{1,10}[^']+"`
urlvar=$serv'flv2/'$filevar
echo $urlvar
Тупой скрипт для выдерания ссылок на ролки со страницы xhamster.com
−142
#!/bin/bash
#
# program file name: urlmin.sh
# program version: 0.4
_help()
{
prg=$(basename $0)
cat << EOF
options:
-h See this page
-l Viewed all names of minifer sites
-s
lb.vg
minify.me
is.gd
-r Random mode of minifiers
-u url link
examples:
random mode - minifiers: ${prg} -r -u 'http://wikimapia.org/#lat=36.7923994&lon=53.1100881&z=18&l=1&m=b'
only 1 minifier - is.gd minifier: ${prg} -s is.gd -u 'http://wikimapia.org/#lat=36.7923994&lon=53.1100881&z=18&l=1&m=b'
or lb.vg minifier: ${prg} -s lb.vg -u 'http://wikimapia.org/#lat=36.7923994&lon=53.1100881&z=18&l=1&m=b'
and other
EOF
exit 0
}
[ ! -f "$(which curl)" ] && { echo "Установите утилиту curl" ; exit 1 ;}
_user_agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.4) Gecko/20100503 Firefox/3.6.4"
_sets_minifiers=( "lb.vg" "is.gd" "minify.me" )
_e() { echo -e "${*}" ;}
_get_page() { curl -s -A "$USER_AGENT" ${1} | tr -d '\n' || { clear ; echo -e "${B_T}${RC}Error${CRS}! curl in function _get_page has exited abnormaly: ${1}" ; exit 1 ;} ;}
_post_page() { curl -s -A "$USER_AGENT" -d "${2}" "${1}" | tr -d "\n" || { clear ; echo -e "${B_T}${RC}Error!${CRS} curl in function _post_page has exited abnormaly: ${1} -> ${2}" ; exit 1 ;} ;}
_urlencode() { LANG=C awk 'BEGIN { EOL = "%0A" ; split ("1 2 3 4 5 6 7 8 9 A B C D E F", hextab, " ") ; hextab [0] = 0 ; for ( i=1; i<=255; ++i ) ord [ sprintf ("%c", i) "" ] = i + 0 } ; { encoded = "" ; for ( i=1; i<=length ($0); ++i ) { c = substr ($0, i, 1) ; if ( c ~ /[a-zA-Z0-9.-]/ ) { encoded = encoded c } else if ( c == " " ) { encoded = encoded "+" } else { lo = ord [c] % 16 ; hi = int (ord [c] / 16); encoded = encoded "%" hextab [hi] hextab [lo] } } ; printf ("%s", encoded EOL) } END { }' "$@" | sed 's|%0A||g' ;}
_random() { [ -n "${1}" ] && { while :; do zz=$(y=0;for ((x=${1};x>=y;y++)) ; do [ "$y" == "${RANDOM[@]:2:1}" ] && [ -n "$y" ] && { echo $y ; break ;} ; done ) ; [ -n "$zz" ] && { echo "$zz" ; break ;} ; done ;} ;}
# sets
while getopts "hu:s:rl" option ; do case $option in
h) _help ;;
u) url_path="$OPTARG" ;;
s) _set_min="$OPTARG" ; set_min_num=$(j=0 ; for x in ${_sets_minifiers[*]} ; do [ "${x}" == "${_set_min}" ] && _e "${j}" ; ((j++)) ; done) ;;
r) mode_random="yes" ; set_min_num="$(_random $((${#_sets_minifiers[*]}-1)) )" ;;
l) list_mins="yes" ;;
v) set_verbose="-v" ;;
esac ; done
case $set_min_num in
0)
_url_enc=$(_e "${url_path}" | _urlencode)
_url_host="${_sets_minifiers[$set_min_num]}"
_obtained=$(_post_page "http://${_url_host}/default.asp" "Orig_URL=${_url_enc}&show_ve=1&Categ=Humor" | egrep -o "http://${_url_host}/[a-Z0-9]+'" | sort -u | sed "s|'||g;s|http://||g") ;;
1)
_url_enc=$(_e "${url_path}" | _urlencode)
_url_host="${_sets_minifiers[$set_min_num]}"
_obtained=$(_post_page "http://${_url_host}/create.php" "URL=${_url_enc}" | egrep -o "http://${_url_host}/[a-Z0-9]+\" target" | sed 's|\" target||g;s|http://||g') ;;
2)
_url_enc=$(_e "${url_path}" | _urlencode)
_url_host="${_sets_minifiers[$set_min_num]}"
_obtained=$(_post_page "http://${_url_host}/create.php" "url=${_url_enc}" | egrep -o "http://${_url_host}/\?[a-Z0-9]+" | sed 's|http://||g') ;;
esac
[ -z "$1" ] && _help
[ -n "$set_min_num" ] && _e "Link: ${_obtained}"
[ -n "$list_mins" ] && _e "Minifiers:\n\n$(for i in ${_sets_minifiers[*]} ; do _e " ${i}" ; done)\n"
# eof urlmin.sh
url minifier
# typical define:
-=>> ./urlmin.sh -s is.gd -u 'http://wikimapia.org/#lat=36.7923994&lon=53.1100881&z=18&l=1& m=b'
Link: is.gd/ckjsg
# random minifier:
-=>> ./urlmin.sh -r -u 'http://wikimapia.org/#lat=36.7923994&lon=53.1100881&z=18&l=1& m=b'
Link: minify.me/?qkvbp2
−132
yes | rm -r /
Так красивее :)
−136
#!/bin/bash
case $1 in
u|use)
case $2 in
e) $EDITOR /etc/portage/package.use
;;
s) grep -n --color "$3" /etc/portage/package.use
;;
d)
if echo "$3" | grep -q -e "[1-9]"
then
DELVAR="`echo $3 $4 $5 $6 $7 $8 $9 | sed 's/ /\n/g'`"
echo "Do you want delete next line(s):
`echo "$DELVAR" | sed 's/$/!d/g' | xargs -n 1 | while read line ; do
sed "$line" /etc/portage/package.use -i
done`
Yes/No?"
read "answer"
case "$answer" in
y|yes) echo "$DELVAR" | sed 's/$/d/g' | xargs -n 1 | while read yesno ; do
sed "$yesno" /etc/portage/package.use -i
done
;;
esac
else
DELVAR="`grep -n --color "$3" /etc/portage/package.use | cut -d":" -f1`"
echo "Do you want delete next line(s):
`grep -n --color "$3" /etc/portage/package.use`
Yes/No?"
read "answer"
case "$answer" in
y|yes) echo "$DELVAR" | sed 's/$/d/g' | xargs -n 1 | while read yesno ; do
sed "$yesno" /etc/portage/package.use -i
done
;;
esac
fi
;;
*) echo "$2 $3 $4 $5 $6 $7 $8 $9" >> /etc/portage/package.use
;;
esac
;;
i) euses $3
;;
s) eix "$3"
;;
sync) sudo layman --sync-all ; emerge --sync ; eix-update
;;
U) exec emerge -vauND world
;;
i) exec emerge -va "$2 $3 $4 $5 $6 $7 $8 $9"
;;
mkconf) sudoedit /etc/make.conf
;;
*|-h|--help) echo "Использование: pkg [ключ] [параметры ключа]
u [USE] - операции с USE-флагами в файле /etc/portage/package.use
e - открыть файл в редакторе из '\$EDITOR' ("$EDITOR")
s - поиск в файле grep'ом
d - удаление строк из файла (в качестве параметра принимаются как номера строк, так и название пакета/флага)
i - просмотр информации о флагах (с помощью euses)
* - все иные значения будут записаны в файл
k [KEYWORDS] - операции с keywords-масками в файле /etc/portage/package.keywords
e - открыть файл в редакторе из '\$EDITOR' ("$EDITOR")
s - поиск в файле grep'ом
d - удаление строк из файла (в качестве параметра принимаются как номера строк, так и название пакета/флага)
* - все иные значения будут записаны в файл
i - установка пакета (emerge -av)
s - поиск по базе пакетов (с помощью eix)
sync - синхронизация баз layman, emerge и запуск eix-update
U - обновление системы (emerge -vauND world)
mkconf - открыть для редактирования файл /etc/make.conf (используя sudoedit)"
;;
esac
Нашел свой старый код.. Когда-то от нечего делать пытался написать некую обёртку ко всяким джентовским утилитам. До конца так и не дописал, были некоторые проблемы с кодом, которые мне решать было лень. Но сейчас залез в тот код и ужаснулся..
P.S. Файл немного урезан от оригинала, т.к. те же действия повторяются для разных файлов.
−130
#!/bin/bash
curl http://www.radioroks.com.ua/online.php | grep '<b>' > /tmp/roks
sed -e 's/<[^>]*>//g' /tmp/roks > /tmp/roks2
sed -e 's/·/- /g' /tmp/roks2 > /tmp/roks
sed -e 's/\t//g' /tmp/roks > /tmp/roks2
sed -e 's/\:-/\:\
-/g' /tmp/roks2 > /tmp/roks
cat /tmp/roks | head -n $1
Кажется, писал под утро. Не вдуплился юзать только 1 файл, а жонглировал /tmp/roks и /tmp/roks2 ...
−135
find $PWD -maxdepth 0 2>/dev/null
Вместо "ls"...
−138.6
# sysinfo bar
while :; do
echo $(uptime | awk '{ print $3"d, "$5" "$6"u"}') '|' $(free -k | grep "cache:" | awk '{print $3"k / "$4"k"}') '|^fg(#cccc00)' $(date | sed 's,MSD .*,,') "^fg(#bbbbdd)|" $(cat /proc/loadavg | awk '{print $1" "$2" "$3}') '|' $(gcpubar -o -c 1 | sed 's,CPU: ,,') ' '
sleep 1
done | dzen2 -ta r -x $WIDTH -y $Y $COLORS -fn $FONT -e 'button1=exec:mpc toggle;button2=exec:mpc prev;button3=exec:mpc next;button4=exec:mpcvolume +;button5=exec:mpcvolume -' &
подобных баров с пяток в скрипте, не стал все приводить
−135.4
echo ""
echo -e '\033[1m'" MONITOR FOR SYSTEM SWITCH $current"'\033[0m'
echo " *************************************************"
#1
{
read line1
} < $DIR_FLAG/$file1
{
read lines1
} < $DIR_FLAG/$files1
if [ "$line1" = "STOP" ]; then echo -e '\E[31m'" TASK 1: --> $lines1" ; tput sgr0
else echo -e '\E[32m'" TASK 1: >< $lines1" ; tput sgr0
fi
#2
{
read line2
} < $DIR_FLAG/$file2
{
read lines2
} < $DIR_FLAG/$files2
if [ "$line2" = "STOP" ]; then echo -e '\E[31m'" TASK 2: --> $lines2" ; tput sgr0
else echo -e '\E[32m'" TASK 2: >< $lines2" ; tput sgr0
fi
#3
{
read line3
} < $DIR_FLAG/$file3
{
read lines3
} < $DIR_FLAG/$files3
if [ "$line3" = "STOP" ]; then echo -e '\E[31m'" TASK 3: --> $lines3" ; tput sgr0
else echo -e '\E[32m'" TASK 3: >< $lines3" ; tput sgr0
fi
#4
{
read line4
} < $DIR_FLAG/$file4
{
read lines4
} < $DIR_FLAG/$files4
if [ "$line4" = "STOP" ]; then echo -e '\E[31m'" TASK 4: --> $lines4" ; tput sgr0
else echo -e '\E[32m'" TASK 4: >< $lines4" ; tput sgr0
fi
#5
{
read line5
} < $DIR_FLAG/$file5
{
read lines5
} < $DIR_FLAG/$files5
if [ "$line5" = "STOP" ]; then echo -e '\E[31m'" TASK 5: --> $lines5" ; tput sgr0
else echo -e '\E[32m'" TASK 5: >< $lines5" ; tput sgr0
fi
#6
{
read line6
} < $DIR_FLAG/$file6
{
read lines6
} < $DIR_FLAG/$files6
if [ "$line6" = "STOP" ]; then echo -e '\E[31m'" TASK 6: --> $lines6" ; tput sgr0
else echo -e '\E[32m'" TASK 6: >< $lines6" ; tput sgr0
fi
#7
{
read line7
} < $DIR_FLAG/$file7
{
read lines7
} < $DIR_FLAG/$files7
if [ "$line7" = "STOP" ]; then echo -e '\E[31m'" TASK 7: --> $lines7" ; tput sgr0
else echo -e '\E[32m'" TASK 7: >< $lines7" ; tput sgr0
fi
#8
{
read line8
} < $DIR_FLAG/$file8
{
read lines8
} < $DIR_FLAG/$files8
if [ "$line8" = "STOP" ]; then echo -e '\E[31m'" TASK 8: --> $lines8" ; tput sgr0
else echo -e '\E[32m'" TASK 8: >< $lines8" ; tput sgr0
fi
#9
{
read line9
} < $DIR_FLAG/$file9
{
read lines9
} < $DIR_FLAG/$files9
if [ "$line9" = "STOP" ]; then echo -e '\E[31m'" TASK 9: --> $lines9" ; tput sgr0
else echo -e '\E[32m'" TASK 9: >< $lines9" ; tput sgr0
fi
и т.д.
вот такой кодец остался нам в наследство....
−136
#! /bin/bash
# настройки
# id художника (athid) берется из URL вида http://www.pixiv.net/member_illust.php?id=18530, где 18530 и есть искомый параметр.
pixid=LOGIN
pixpass=PASSWORD
picnum=$2
let "pagenum=picnum/20+1"
athid=$1
# логинимся (куки в pixiv.txt)
AUTH=`curl -s -c pixiv.txt -F"mode=login" -F"pass=${pixpass}" -F"pixiv_id=${pixid}" -F"skip=1" http://www.pixiv.net/index.php`
# качаем все страницы с картинками и парсим их на ходу
for ((i=1;i<=$pagenum;i++))
do
wget --load-cookies=pixiv.txt "http://www.pixiv.net/member_illust.php?id=$athid&p=$i" -O - --referer="http://www.pixiv.net/"|pcregrep -o 'http\:\/\/img\d{1,3}\.pixiv\.net\/img\/[^\"]+'|sed 's/_s//' >> get.pixiv.txt
done;
# качаем все картинки, которые нашли
wget -nc -i get.pixiv.txt --referer="http://www.pixiv.net/"
cat get.pixiv.txt | sed 's/http\:\/\/img[^\/]\+\/img\/[^\/]\+\///' > list1
ls *.jpg *.png *.gif > list2
cat list1 list2|sort|uniq -u|pcregrep -o '[^\.]+' > list3
for i in `cat list3`
do
wget "http://www.pixiv.net/member_illust.php?mode=manga&illust_id=$i&type=scroll" --load-cookies=pixiv.txt --referer="http://www.pixiv.net/" -O -|pcregrep -o 'http\:\/\/img\d{1,3}\.pixiv\.net\/img\/[^\"]+'>> get.pixiv.albums.txt
done;
wget -nc -i get.pixiv.albums.txt --referer="http://www.pixiv.net/"
# удаляем палево
#rm -f pixiv.txt get.pixiv*.txt list*
Качалка картинок с pixiv.net с дебильным алгоритмом отсеивания альбомов от картинок.
−131
# cmd.exe
subst 5: C:\Windows
собственно можно любою число от 0 до 9
правда прикол в том, что в отличии от subst Z: C:\Windows ( где в Май ПиСи будет отображен Z: ), в случае если int , то только из под cmd можно обратиться
cd 5: