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 12/02/2007, à 15:31

Aomapes2

Débutant: premier script Nautilus, questions et besoin d'aide.

Bonjour,

Je viens de créer mon premier Nautilus script et je me retrouve à avoir un petit peu besoin d'aide. roll

D'abord le script:

#!/bin/bash
#Livret de poche
#Permets de mettre un document PDF au format d'un livret de poche
#
curpath=`echo $NAUTILUS_SCRIPT_CURRENT_URI | sed 's/file\:\/\///'`
cd $curpath
files=`echo "$1" | sed 's/ /\?/g'`
file=`echo "$files" | sed 's/.pdf//'`
pdf2ps $files $file-2
pstops -pa4 '8:0L@0.3536(1w,0.75h)+1R@0.3536(0,1h)+2R@0.3536(0,0.75h)+3R@0.3536(0,0.5h)+4R@0.3536(0,0.25h)+5L@0.3536(1w,0)+6L@0.3536(1w,0.25h)+7L@0.3536(1w,0.5h)' $file-2 $file-3
rm $file-2
ps2pdf $file-3 $file-poche.pdf
rm $file-3

Qui me permets de répondre à un besoin qu'il semble que OpenOffice ne peut remplir (voir ici)

Voici donc mes questions:

- Existe-t-il dans les scripts Nautilus un équivalent aux lignes de commande tout en un comme celle-ci ?
[digression] Est-ce ce genre de ligne de commande tout attachée que l'on appelle un tube ? [/digression]

pdf2ps nom-du-fichier.pdf -|pstops -pa4 '8:0L@0.3536(1w,0.75h)+1R@0.3536(0,1h)+2R@0.3536(0,0.75h)+3R@0.3536(0,0.5h)+4R@0.3536(0,0.25h)+5L@0.3536(1w,0)+6L@0.3536(1w,0.25h)+7L@0.3536(1w,0.5h)' |ps2pdf - nom-du-fichier-pocket.pdf

Ligne qui a l'avantage de ne pas créer de fichiers intermédiaires lors de cette transformation alors que dans mon script je suis obligé de les créer un à un puis de les effacer encore un à un...

- Comment modifier mon script pour le faire fonctionner sur plusieurs fichiers sélectionnés (en ce moment cela ne fonctionne que sur le premier de la sélection) ? Et sur tout un répertoire ?

- Malgré le sed 's/ /\?/g', les fichiers avec un espace se retrouvent avec un point d'interrogation à la place de cet espace ? Où est l'erreur ?

Merci de votre aide et de votre indulgence big_smile

Hors ligne

#2 Le 12/02/2007, à 16:22

Parigot

Re : Débutant: premier script Nautilus, questions et besoin d'aide.

Salut,

Je vais essayer de mettre mes petites connaissances à ton service.

sed 's/ /\?/g' remplace un espace par un point d'interrogation car en inscrivant '\?' tu indiques que c'est le caractère du point d'interrogation que tu veux utiliser pour remplacer ton espace.

En espérant avoir répondu à ta 3ieme question.

Dernière modification par Parigot (Le 12/02/2007, à 16:22)


Intel Core 2 Duo E8400; EVGA NForce 780i SLI; 4GB DDR2 OCZ Reaper Edition; Seagate Barracuda 7200.11 500GB; EVGA GTX 260 Superclocked Edition ;DVD-RW Pioneer DVR 216D; Antec True Power Trio 650W; Antec P182; Win XP SP3 + Virtual Box running Ubuntu Ultimate Edition

Hors ligne

#3 Le 12/02/2007, à 22:45

Aomapes2

Re : Débutant: premier script Nautilus, questions et besoin d'aide.

Merci Parigot,

j'avais copié la fonction à partir d'un script existant et je ne m'étais pas penché sur la syntaxe de sed. En fait en l'étudiant un peu je me suis rendu compte que je ne pouvais pas faire sans par contre j'ai compris comment remplacer le point d'interrogation par l'espace original dans le nom de fichier final.
Voilà donc ce que cela donne maintenant:

#!/bin/bash
#Livret de poche
#Permets de mettre un document PDF au format d'un livret de poche
#
#Si vous veniez à améliorer ce script veuillez le poster sur le forum Ubuntu-fr.org
#à la suite de ce billet http://forum.ubuntu-fr.org/viewtopic.php?id=95082
#
curpath=`echo $NAUTILUS_SCRIPT_CURRENT_URI | sed 's/file\:\/\///'`
cd $curpath
files=`echo "$1" | sed 's/ /\?/g'`
file=`echo "$files" | sed 's/.pdf//'`
fil=`echo "$file" | sed 's/\?/ /g'`
pdf2ps $files $file-2
pstops -pa4 '8:0L@0.3536(1w,0.75h)+1R@0.3536(0,1h)+2R@0.3536(0,0.75h)+3R@0.3536(0,0.5h)+4R@0.3536(0,0.25h)+5L@0.3536(1w,0)+6L@0.3536(1w,0.25h)+7L@0.3536(1w,0.5h)' $file-2 $file-3
rm $file-2
ps2pdf $file-3 "$fil"-poche.pdf
rm $file-3

Merci à toi

Hors ligne

#4 Le 13/02/2007, à 16:12

Parigot

Re : Débutant: premier script Nautilus, questions et besoin d'aide.

De rien, ca fait plaisir! wink


Intel Core 2 Duo E8400; EVGA NForce 780i SLI; 4GB DDR2 OCZ Reaper Edition; Seagate Barracuda 7200.11 500GB; EVGA GTX 260 Superclocked Edition ;DVD-RW Pioneer DVR 216D; Antec True Power Trio 650W; Antec P182; Win XP SP3 + Virtual Box running Ubuntu Ultimate Edition

Hors ligne