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 20/09/2006, à 16:45

Macaïdam

Chemins de fichiers avec espace et scripts nautilus

Bonjour tout le monde,
Existe-t-il une commande utilisable sur la variable NAUTILUS_SCRIPT_SELECTED_FILE_PATHS d'un script nautilus
qui convertirait automatiquement les chemins des fichiers sélectionnés contenant des espaces en chemin de fichiers avec des anti-slash devant chaque espace.

merci d'avance

Hors ligne

#2 Le 25/09/2006, à 14:55

coffee

Re : Chemins de fichiers avec espace et scripts nautilus

Help! My script can't handle multiple files/files with spaces
C'est dans la FAQ ^^
http://g-scripts.sourceforge.net/faq.php
Si tu as mieux à proposer, n'hésites pas wink


Nom d'un tupperware habillé en streetware mangeant de la confiture de pouère et qui se dite où est-ce que je suis ouère !
Tiens mon blog
Les blagues sous forme de fausses aides sont susceptible de ban (ex: rm)

Hors ligne

#3 Le 10/10/2006, à 13:15

Macaïdam

Re : Chemins de fichiers avec espace et scripts nautilus

Merci coffee pour ta réponse.
J'ai donc essayé la méthode décrite dans cette faq notamment la dernière citée qui transforme la variable  NAUTILUS_SCRIPT_SELECTED_FILE_PATHS pour entourer chaque nom de fichier de guillemets :
----------
#!/bin/sh
quoted=$(echo -e "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | awk 'BEGIN {FS = "\n" } { printf "\"%s\" ", $1 }' | sed -e s#\"\"##)
eval "your-program $quoted"
-------------
Ce qui peut par exemple être utilisé comme çà : pour décoder un ensemble de fichiers flac

quoted=$(echo -e "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"| awk 'BEGIN {FS = "\n" } { printf "\"%s\" ", $1 }' | sed -e s#\"\"##)

eval "flac $quoted"
-------------
J'aimerais maintenant que cette mise en forme est faite, pouvoir récupérée chaque nom de fichier séparément (pour décoder en masse des fichiers aac par exemple ou pour lancer 1 fois une commande par fichier pour montrer l'avancement dans une fenêtre zenity)
Si il n'y avait aucun espace dans les noms de fichiers, on pourrait utiliser

for arg in "$quoted"
do
Mon ensemble de commande utilisant arg
done

Mais la présence des espaces fait que les noms de fichiers sont mal séparés.
J'ai déjà testé pas mal de truc, mais là je bloque franchement.

merci d'avance

Hors ligne

#4 Le 16/10/2006, à 16:05

Macaïdam

Re : Chemins de fichiers avec espace et scripts nautilus

up

Hors ligne