Skip to content

Instantly share code, notes, and snippets.

@PoZitron
Last active October 5, 2015 07:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save PoZitron/2770821 to your computer and use it in GitHub Desktop.
Save PoZitron/2770821 to your computer and use it in GitHub Desktop.
Удаляет/переименовывает теги в блоге juick с помощью gajim-remote. batch_rmtags удаляет теги по списку, спрашивая перед удалением.
#!/bin/bash
IFS=$'\n' #этот "трюк" позволяет работать циклу. делает раздилителем перенос строки
list=`cat "$1"`
for tag in $list
do
printf "Удалить тег %s? Y(Да)/n(Нет): " "$tag"
read answer
if [ "$answer" = "n" ]
then
echo "Пропускаю"
echo
#continue
else
rmtags -d $tag
echo "Удалил!"
fi
done
#!/bin/bash
# v1.3
USERNAME=PoZitron #указать свой ник
GAJIM_ACCOUNT=jabber.ru #название аккаунта в Gajim'е
JUICK_SITE=juick.com
JUICK_JID=juick@juick.com
if [ "$1" = "-h" -o "$1" = "" ]
then
echo "Использование: `basename "$0"` [-d] <тег1-для-удаления тег2-для-удаления...> [тег-для-установки]
Параметры:
-d Просто удалить все теги из списка
Удаляет перечисленные теги и проставляет последний тег для всех найденных постов."
exit
fi
if [ "$1" = "-d" ]
then
DELETEONLY=1
shift
fi
NUM=$#
if [ -z "$DELETEONLY" ]
then
(( NUM-- ))
fi
ARGS=( $* )
REPLACE=${ARGS[$#-1]}
for (( i = 0; i < $NUM; i++ ))
do
POSTS=$(wget -O- 2>/dev/null http://$JUICK_SITE/$USERNAME/?tag=${ARGS[i]} | sed -n "s/.*<li id=\"msg-\([0-9]*\)\" class=\"msg\">.*/\1\n/gp")
for POST in $POSTS
do
echo "#$POST - удаляется тег ${ARGS[i]}..."
gajim-remote send_chat_message $JUICK_JID "#$POST *${ARGS[i]}" "" "$GAJIM_ACCOUNT"
if [ -z "$DELETEONLY" ]
then
ISTAGEXIST=$( wget -O- 2>/dev/null http://$JUICK_SITE/$USERNAME/$POST | grep -io "\">\*$REPLACE</a>") # а может тег уже стоит?
if [ -z "$ISTAGEXIST" ] #если нужный тег не стоит, то ставим
then
echo "#$POST - ставится тег $REPLACE..."
gajim-remote send_chat_message $JUICK_JID "#$POST *$REPLACE" "" "$GAJIM_ACCOUNT"
fi
fi
done
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment