CutMyUrl 1.5 : Support des tags et fonction de recherche
Voici donc la nouvelle version de CutMyUrl ! Pour rappel ce script a pour fonction de raccourcir une adresse en utilisant le service mis à disposition par ur1.ca. Rien d’exceptionnel donc, mais il a le mérite de fonctionner !
Installation :
Arch Linux :
Un petit yaourt sera suffisant pour installer CutMyUrl :
$ yaourt -S cutmyurl
Autres distributions :
Télécharger le paquet :
$ wget http://ubunblox.free.fr/UbunBlox/AUR/cutmyurl-1.5.tar.gz
Décompresser l’archive et rendez le script exécutable :
$ tar -xf cutmyurl-1.5.tar.gz
$ chmod +x cutmyurl
Fonctionnalités :
Voici les fonctionnalités incluses dans cette version 1.5 :
- Copie de l’url dans le presse papier.
- Archivage des adresses.
- Possibilité d’afficher et de supprimer l’historique des adresses.
- Fonctions de recherche.
- Support des tags.
Voyons maintenant les différentes utilisations possibles de CutMyurl :
- Afficher l’aide :
$ cutmyurl -h
- Afficher les notes de version :
$ cutmyurl -v
- Afficher les informations concernant CutMyUrl :
$ cutmyurl -i
- Raccourcir simplement une adresse :
$ cutmyurl -u http://google.fr
- Raccourcir une adresse et la copier directement dans le presse papier :
$ cutmyurl -c http://google.com
- Raccourcir une adresse et lui ajouter un tag :
$ cutmyurl -c http://google.com recherche
$ cutmyurl -u http://ubunblox.servhome.org "mon blog"
Si aucun tag n’est ajouté par l’utilisateur, celle-ci portera automatiquement le tag #none.
- Afficher l’historique :
$ cutmyurl -H
Appuyez sur la touche [ Q ] pour quitter l’historique.
- Supprimer l’historique :
$ cutmyurl -d
- Effectuer une recherche :
$ cutmyurl -s google
$ cutmyurl -s "mon blog"
Le script :
Pour les plus curieux d’entres vous : Voici le script dans son intégralité.
#!/bin/sh # CutMyUrl # Version 1.5 # A shortener url command line # Using the open source service ur1.ca, http://ur1.ca/ # By Lopes Ferreira David, http://ubunblox.servhome.org/ # ubunblox@gmail.com # Licence GPL # Depends : curl, xclip ######################### ## Variables ## r="\033[0m" # regular f="\033[1m" # fat v="1.5" # version n="CutMyUrl" # name u="http://ur1.ca/" # url path="$HOME/.config/cutmyurl" # path log="$path/log" # log file date=`date '+%F %T'` # date # # ## Check for arg in $2 ## if [ -n "$2" ] ; then arg="$2" fi # # ## Check for arg in $3 ## if [ -n "$3" ] ; then tag="#$3" else tag="#none" fi # # ## Check for path ## if ! [ -d $path ] ; then mkdir -p $path fi # # ## Check for log file ## if ! [ -r $log ] ; then echo -e "## $n log file ## \n \n " > $log fi # # ## Fonction cut url ## _cut_url () { short_url=$(curl -s "$u" -d"longurl=$arg" | grep 'Your ur1 is' | sed 's/^.*<a href="//;s/".*$//') } # # ## Fonction display short url ## _url () { _cut_url if [ -z $short_url ] ; then echo -e "\n$f---------→ Need help $USER ? $r\n" _help else echo -e "\n$short_url \n" _log fi } # # ## Fontion copy short url to clipboard ## _copy () { _cut_url if [ -z $short_url ] ; then echo -e "\n$g---------→ Need help $USER ? $n\n" _help else echo "$short_url" | xclip -selection c echo -e "\nThe url $f"$short_url"$r has been copied to your clipboard. \n" _log fi } # # ## Fonction log ## _log (){ sed -i '3i\'"$date \t$arg \t$short_url \t$tag"'' $log } # # ## Fontion history ## _hist () { less $log } # # ##Fonction delete history ## _delete () { echo -e " Do you really want to$f delete$r the history file ? $f[Y/N]$r" read reply case "$reply" in y | Y | yes | YES | o | O | oui | OUI ) echo -e "## $n log file ## \n \n " > $log & echo "History deleted, bye !" ;; * ) echo "\n$f Nothing to do, bye !$r \n" ;; esac } # # ## Fonction search ## _search () { _hist | grep "$arg" if [ $? != 0 ] ; then echo -e " No result for $arg" fi } # # ## Fonction help ## _help () { echo -e "$f NAME$r" echo -e "\t$f $n $r- Shortener url command line. \n" echo -e "$f SYNOPSIS$r" echo -e "\t$f cutmyurl$r OPTION [URL] [TAG]\n" echo -e "$f DESCRIPTION$r" echo -e "\t $f-u, --url $r \t[URL]\tShort url." echo -e "\t $f-c, --copy $r \t[URL]\tCopy short url to clipboard." echo -e "\t $f-s, --search $r \t[EXP]\tSearch expression in history file." echo -e "\t $f-h, --help $r\t\tHelp." echo -e "\t $f-v, --version $r\t\tVersion." echo -e "\t $f-i, --info $r\t\tInformations." echo -e "\t $f-H, --history $r\t\tView the history file." echo -e "\t $f-d, --delete $r\t\tDelete history file.\n" echo -e "$f EXAMPLES$r" echo -e "\t$f cutmyurl$r -u http://google.com" echo -e "\t$f cutmyurl$r -c http://google.com" echo -e "\t$f cutmyurl$r -u http://website_about_cat_and_dog.com \"cat and dog\"" echo -e "\t$f cutmyurl$r -c http://google.com google\n" echo -e "$f END$r" } # # ## Fonction informations ## _info () { echo -e "$f $n$r" echo -e "\n\t # A shortener url Command line " echo -e "\t # Using the open source service ur1.ca, http://ur1.ca/" echo -e "\t # By Lopes Ferreira David, http://ubunblox.servhome.org/" echo -e "\t # ubunblox@gmail.com" echo -e "\t # Licence GPL \n" } # # ## Fonction version ## _version () { echo -e "$f VERSION$r" echo -e "\t$f version :$r\t$v\n" echo -e "$f CHANGE LOG$r" echo -e "\t$f 26/04/2011 :$r\tAdd search fonction and tag support\n" echo -e "\t$f 19/04/2011 :$r\tAdd history fonction and delete fonction\n" echo -e "\t$f 18/04/2011 :$r\tChange in copy fonction\n" echo -e "\t$f 18/04/2011 :$r\tAdd copy fonction\n" echo -e "\t$f 16/04/2011 :$r\tFirst release\n" echo -e "$f DEPENDS$r" echo -e "\t$f curl, xclip$r\n" } # # ## Start CutMyUrl ## case "$1" in -h | --help) _help ;; -i | --info) _info ;; -v | --version) _version ;; -u | --url) _url ;; -c | --copy) _copy ;; -H | --history) _hist ;; -d | --delete) _delete ;; -s | --search) _search ;; *) _help esac # # ## End ## exit 0 # #
Comme d’habitude n’hésitez pas à laisser vos remarques .
Lien :
- CutMyUrl sur AUR