Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/01/2012, à 03:31

nesthib

[script] fonction pour trouver des pdf en un clin d'œil sur la machine

J'ai fait cette fonction à l'origine pour afficher la doc de texlive et proposer de choisir le document à ouvrir dans un menu interactif, mais elle est facilement adaptable au besoins de chacun.
Voici donc une version qui permet de chercher des documents dans le /home de l'utilisateur avec un motif à rechercher en premier argument et l'extension en second argument (par défaut des pdf)

installation : à ajouter dans votre ~/.bashrc et ouvrir un nouveau terminal

find_doc [motif] [extension]
find_doc() {
    [ $# -lt 2 ] && ext="pdf" || ext="$2"
    oldIFS=${IFS} ; IFS=$'\n'
    FILE=( $(locate "*$1*.${ext}" | awk -F/ "${HOME//\//\/}"'&& ! _[$NF]++') )
    IFS=${oldIFS}
    [ ${#FILE[*]} -gt 1 ] && {
    for index in ${!FILE[*]}
    do
        printf "%4d: %s\n" $(($index+1)) "${FILE[$index]}"
    done
    while read -p 'file to open: ' answer
    do
        [ ${answer:-0} = empty ] 2>/dev/null && { FILE=${FILE[0]} ; echo "1: $FILE" ; break ; }
        [ ${answer} -eq 0 ] 2>/dev/null && { FILE=${FILE[0]} ; echo "2: $FILE" ; break ; }
        [ ${answer} -le ${#FILE[*]} ] 2>/dev/null && { FILE=${FILE[$(( ${answer}-1 ))]} ; echo "3: $FILE" ; break ;}
    done
    }
    echo $FILE
    [ -f "${FILE}" ] && gnome-open "$FILE" &
}

GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#2 Le 16/01/2012, à 03:38

sputnick

Re : [script] fonction pour trouver des pdf en un clin d'œil sur la machine

Salut nesthib !

attention, les chemins genre

/\/home\/nesthib

devraient plutôt être placés dans une variable en debut de script, nan ?

Ou bien un truc plus passe partout :

 awk -F/ "/\/home\/$USER/ && ! _[$NF]++"

On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#3 Le 16/01/2012, à 09:34

nesthib

Re : [script] fonction pour trouver des pdf en un clin d'œil sur la machine

Salut sputnick!

effectivement, j'ai rajouté le filtre pour le ${HOME} au dernier moment puis j'ai corrigé pour ${HOME//\//\/} qui donne le résultat attendu


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#4 Le 26/09/2014, à 10:38

nestapuccino

Re : [script] fonction pour trouver des pdf en un clin d'œil sur la machine

Excellent, merci.

Hors ligne