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 23/11/2009, à 21:37

Julius

Script pour cacher les fichiers sous-titres

Salut,

J'aimerai pouvoir cacher les fichiers sous-titres dans mes dossiers lorsque je les visualise avec Nautilus.

Je ne touche rien en Bash bien que je compte m'y mettre dès que j'aurai du temps (pas demain quoi... smile). Est-ce que ce serait facile de faire un script qui pourrait parcourir un dossier et ses sous-dossiers à la recherche de fichiers d'un certain type (*.srt par exemple) et qui ajouterait dans le fichier .hidden de nautilus les fichiers en question.

Je sais que ça se fait facilement dans un dossier avec la commande suivante :

ls *.srt | tee .hidden

Mais aucune idée de comment intégrer ça dans un script, surtout si il doit parcourir différents dossiers......

Merci à ceux qui prendront le temps de me répondre ! Si vous avez une solution plus simple par rapport à mon problème de départ je suis preneur.

Hors ligne

#2 Le 24/11/2009, à 03:29

AnsuzPeorth

Re : Script pour cacher les fichiers sous-titres

Bjr,
Vu qye personne n'a voulu s'y coller (pourtant c'est une demande basique..pi etre pour ça d'ailleurs !)
Avec find :

#! /bin/bash

find /home/dossier/racine -maxdepth 2 -type f -name "*\.txt" | while read ligne
do
DOSSIER=$(dirname "$ligne")
FICHIER=$(basename "$ligne")
echo "${FICHIER}" >> "${DOSSIER}/.hidden"
done

exit

L'option -maxdepth pour régler la récursivité (l'enlever pour faire tous les sous dossiers)
Remplacer le .txt par l'extension recherchée (tjrs dans la commande find !)

C'est une solution parmis d'autres !

PS: Pour éviter le pipe, il est possible d'écrire la boucle différemment :

while read ligne
do
...
...
done < <(find ......)

Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#3 Le 24/11/2009, à 17:03

sputnick

Re : Script pour cacher les fichiers sous-titres

@AnsuzPeorth, le "pipe" est interdit dans ta religion ? tongue


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

Hors ligne

#4 Le 25/11/2009, à 00:00

AnsuzPeorth

Re : Script pour cacher les fichiers sous-titres

sputnick a écrit :

@AnsuzPeorth, le "pipe" est interdit dans ta religion ? tongue

Ca dépends si c'est féminin ou masculin !


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#5 Le 25/11/2009, à 02:47

AnsuzPeorth

Re : Script pour cacher les fichiers sous-titres

Re
J'oublie tjrs le bash ...!
Cela pourrait s'écrire plus facilement:

while read ligne
do
echo "${ligne##*/}" >> "${ligne%/*}"
done < <(find /home/dossier/racine -maxdepth 2 -type f -name "*\.txt")

Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#6 Le 25/11/2009, à 11:44

Totor

Re : Script pour cacher les fichiers sous-titres

AnsuzPeorth a écrit :

Re
J'oublie tjrs le bash ...!
Cela pourrait s'écrire plus facilement:

while read ligne
do
echo "${ligne##*/}" >> "${ligne%/*}"
done < <(find /home/dossier/racine -maxdepth 2 -type f -name "*\.txt")

Attention, il existe une exception où la version ${var%/*} n'est pas équivalente à l'instruction dirname "${var}" : lorsque ${var} n'inclu pas le nom de dossier, ${var%/*} retourne alors "${var}" alors que dirname "${var}" retourne "." !
Mais cela ne peut arriver dans notre cas du fait du format renvoyé par l'instruction find.

Par ailleurs, un erreur s'est glissée dans ton script : echo "${ligne##*/}" >> "${ligne%/*}" à remplacer par echo "${ligne##*/}" >> "${ligne%/*}/.hidden" wink

Dernière modification par Totor (Le 25/11/2009, à 17:24)


-- Lucid Lynx --

Hors ligne

#7 Le 25/11/2009, à 14:12

AnsuzPeorth

Re : Script pour cacher les fichiers sous-titres

L'oeil du maître ...!
Tu vois, tu es tjrs indispensable ici wink


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#8 Le 30/11/2009, à 21:58

Julius

Re : Script pour cacher les fichiers sous-titres

Merci beaucoup à toi AnsuzPeorth !!! (et merci pour la relecture, Totor)

Je testerai ça le week-end prochain parce que mes semaines sont relativement chargées pour l'instant :-)

@ bientôt

Hors ligne