Accéder au contenu.
Menu Sympa

technique - Re: [TECH] Un locate avec ouverture facile d'un/des fichiers renvoyés

Objet : Liste pour les discussions techniques (liste à inscription publique)

Archives de la liste

Re: [TECH] Un locate avec ouverture facile d'un/des fichiers renvoyés


Chronologique Discussions 
  • From: Nicolas Vinot <nvinot AT april.org>
  • To: Alain Coulais <alain.coulais AT obspm.fr>
  • Cc: fboulogne AT sciunto.org, APRIL Liste Technique <technique AT april.org>
  • Subject: Re: [TECH] Un locate avec ouverture facile d'un/des fichiers renvoyés
  • Date: Sun, 27 Jul 2014 15:27:31 +0200
  • Organization: APRIL

Le dimanche 27 juillet 2014 15:15:25 Alain Coulais a écrit :
> locate *pdf | head -1 | xargs xdg-open
>
> (sans head -1, avec xdg-open ca se plaint, mais avec evince
> ca ouvre tous les pdf trouves !! ha ha
> je ne vois rien d'évident pour expliquer cela,
> meme en parcourant la doc ...)

C'est logique :)
xargs convertit chaque ligne de son stdin en arguments pour la commande qui
se
trouve derrière

Si locate trouve A B C et D, alors
locate | xargs evince
est équivalent à
evince A B C D
ce qui ouvre bien tout ce qui est trouvé.
Avec le « | head -1 », tu ne récupères que la 1ère ligne de la sortie du
locate, donc ça devient bien « evince A »
Et ça plante effectivement avec xdg-open si tu as plusieurs fichiers de
trouvés,
car xdg-open ne supporte qu'un seul argument. Du coup un
locate … | xargs -n 1 xdg-open
lui t'ouvrira bien tout :)

D'ailleurs si tu as des noms de fichiers avec des espaces, ta commande ne
fonctionne plus vu que « fichier avec des espaces » va passer en « xdg-open
fichier avec des espaces », qui n'est pas valable (« fichier » n'existe pas +
plusieurs arguments).
Il faut donc demander à locate de remplacer les fins de ligne par des \0, et
à
xargs de considérer les \0 comme un séparateur de ligne :
locate -0 … | xargs -0n 1 xdg-open

Librement,
--
Nicolas

Protégez votre vie privée, chiffrez vos communications
GPG : EFB74277 ECE4E222
OTR : 5769616D 2D3DAC72
https://café-vie-privée.fr/

Attachment: signature.asc
Description: This is a digitally signed message part.




Archives gérées par MHonArc 2.6.18.

Haut de le page