- 1
OWNER=`ls -l $i | awk '{ print $3 }'`
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−140
OWNER=`ls -l $i | awk '{ print $3 }'`
initscripts-8.45.30-2.el5, не хрен собачий...
−138
#!/bin/sh
net() {
if ( grep eth0 /proc/net/dev > /dev/null );
then
if (ifconfig eth0|grep -e "inet addr:" > /dev/null);
then
echo "eth0";
ifconfig eth0|grep -e "inet addr:" | sed 's/.*r://; s/\ .*//';
ifconfig eth0|grep bytes | sed 's/\ //g; s/(/$/; s/.*\$//; s/).*(/ /; s/)//'
echo "::"
fi;
fi;
if ( grep wlan0 /proc/net/dev > /dev/null );
then
if (ifconfig wlan0|grep -e "inet addr:" > /dev/null);
then
echo "wlan0";
ifconfig wlan0|grep -e "inet addr:" | sed 's/.*r://; s/\ .*//';
ifconfig wlan0|grep bytes | sed 's/\ //g; s/(/$/; s/.*\$//; s/).*(/ /; s/)//'
echo "::"
fi;
fi;
if ( grep usb0 /proc/net/dev > /dev/null );
then
if (ifconfig usb0|grep -e "inet addr:" > /dev/null);
then
echo "usb0";
ifconfig usb0|grep -e "inet addr:" | sed 's/.*r://; s/\ .*//';
ifconfig usb0|grep bytes | sed 's/\ //g; s/(/$/; s/.*\$//; s/).*(/ /; s/)//'
echo "::"
fi;
fi;
}
space() {
df -h|grep -e "/$" | sed 's/^[a-z0-9/]*\ *[0-9,]*[MG]\ *[0-9,]*[MG]//; s/[0-9]*\%//; s/\ *//g; s/\// \//'
echo "::"
df -h|grep -e "/home$" | sed 's/^[a-z0-9/]*\ *[0-9,]*[MG]\ *[0-9,]*[MG]//; s/[0-9]*\%//; s/\ *//g; s/\// \//'
}
battery() {
if ( grep -e "discharging" /proc/acpi/battery/BAT0/state > /dev/null || \
grep -e "charging$" /proc/acpi/battery/BAT0/state > /dev/null);
then
echo -n "::" $(~/.wmii-3.5/battery.py)
fi;
}
echo -n $(net)\
$(space)\
"::" "LA" $(uptime | sed 's/.*e://; s/,\ .*//')\
"::" $(uptime | sed 's/.*up//; s/[0-9]\ users.*//; s/,//g')\
"::" $(cat /proc/acpi/thermal_zone/TZ00/temperature|sed 's/[a-z]*:\ *//; s/\ /°/')\
$(battery)\
"::" $(date "+%F %R:%S")\
"\n"
можно сказать, первы серьёзный опыт использования bash(скрипт для нижней панельки wmii). Не покидает ощущение, что ооочень много костылей.
−136
#!/bin/bash
# ...
PWD=`pwd`
cd $OTHERDIR
# ...
cd $PWD
скрипт был написан навороченым солярис инженером. я ожидал каких-там BSD или SysV выкрутасов, а как увидел в начале /bin/bash начал уже сомневатся. парой десятков строк ниже нашел данный перл, и дальше вчитатываться не стал - все надо в ж переписывать....
ЗЫ $PWD это встроеная переменная которая устанавливается коммандой cd. ее можно руками менять, но по каждому cd она будет всегда в полный путь текущего каталога ставится. Другими словами PWD=`pwd` как и cd $PWD есть просто NOPы.
−143
#! /bin/sh
# качаем страницу и ищем ссылку на закачку
dllink=`curl -# $1|pcregrep -o 'http.+file.qip.ru/get[^"]+'`
# качаем вторую страницу и ищем линк на файл и очищаем имя файла от мусора
dlhtml=`curl -# "$dllink"`
dlfilelink=`echo $dlhtml|pcregrep -o "http\:\/\/dc\d{1,10}.file.qip.ru\/download[^']+"`
dlfilename1=`echo $dlhtml|pcregrep -o "http\:\/\/dc\d{1,10}.file.qip.ru\/download[^?]+"`
dlfilename=`basename $dlfilename1`
wget "$dlfilelink" -O "$dlfilename"
Качалка файлов с file.qip.ru
−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"...