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/05/2008, à 11:47

fanfantasy7

[RESOLU]script:chercher fichier~ en excluan $HOME/.local/share/Trash

donc la il trouve bien mes fichiers ~

bertrand@bertrand-laptop:~$ find /$HOME/ -name *~ -ok mv {} ~/.local/share/Trash/files/ \;< mv ... //home/bertrand/.gnome2/nautilus-scripts/test2~ > ? no
< mv ... //home/bertrand/.gnome2/nautilus-scripts/test~ > ? 
< mv ... //home/bertrand/.gnome2/nautilus-scripts/restaurer~ > ? 
find: //home/bertrand/.config/menus/applications-merged: Permission non accordée
< mv ... //home/bertrand/.local/share/Trash/files/a faire jas.txt~ > ? 
< mv ... //home/bertrand/.local/share/Trash/files/poubelle.sh~ > ? 
< mv ... //home/bertrand/.local/share/Trash/files/test.html~ > ? 
< mv ... //home/bertrand/.local/share/Trash/files/apache hotes virtuels.txt~ > ? 
< mv ... //home/bertrand/.local/share/Trash/files/clean_8.04.sh~ > ? 
< mv ... //home/bertrand/.local/share/Trash/files/temp.html~ > ? 
< mv ... //home/bertrand/.local/share/Trash/files/restore_trash.sh~ > ? 
< mv ... //home/bertrand/.local/share/Trash/files/clean_7.10_et_ant.sh~ > ? 
< mv ... //home/bertrand/linux/script/bin/poubelle~ > ? 
find: //home/bertrand/.dbus: Permission non accordée

mais je ne veut pas voir les fichier qui sont dans ma corbeille -> /$HOME/.local/share/Trash
je rajoute donc le -path /$HOME/.local/share/Trash

bertrand@bertrand-laptop:~$ find /$HOME/ -name *~ -path /$HOME/.local/share/Trash -ok mv {} ~/.local/share/Trash/files/ \;

find: //home/bertrand/.config/menus/applications-merged: Permission non accordée
find: //home/bertrand/.dbus: Permission non accordée

mais visiblement il m'exclue plus que ce que je lui dit dans le -path

merci de m'aider
fanfantasy7

Dernière modification par fanfantasy7 (Le 21/05/2008, à 09:10)


Fanfantasy7
pc fixe : Linux Mint
pc portable : Ubuntu LTS

Hors ligne

#2 Le 20/05/2008, à 12:05

Totor

Re : [RESOLU]script:chercher fichier~ en excluan $HOME/.local/share/Trash

1ère modif, remplacer

find /$HOME/ -name *~ ...

par

find /$HOME/ -name "*~"...

sinon, c'est le shell qui interprète *~ et non la commande find.

Essayes ceci :

find ~ -name "*~" -a ! -path "/$HOME/.local/share/Trash*" -ok mv {} ~/.local/share/Trash/files/ \; ...

Dernière modification par Totor (Le 20/05/2008, à 12:08)


-- Lucid Lynx --

Hors ligne

#3 Le 20/05/2008, à 12:19

fanfantasy7

Re : [RESOLU]script:chercher fichier~ en excluan $HOME/.local/share/Trash

bertrand@bertrand-laptop:~$ find ~ -name "*~" -a ! -path "/$HOME/.local/share/Trash*" -ok mv {} ~/.local/share/Trash/files/ \
>

ta ligne de code me retourne un > et attend je sai pas quoi mais ça avance pas


Fanfantasy7
pc fixe : Linux Mint
pc portable : Ubuntu LTS

Hors ligne

#4 Le 20/05/2008, à 12:41

Totor

Re : [RESOLU]script:chercher fichier~ en excluan $HOME/.local/share/Trash

ben je sais pas roll
n'as-tu pas oublié un ; à la fin de la ligne, comme dans ton post ? hmm?

par ailleurs, j'ai vu une coquille :
remplace /$HOME/ par $HOME/ ou par ~/ sinon, le filtre ne fonctionnera pas.

Dernière modification par Totor (Le 20/05/2008, à 12:52)


-- Lucid Lynx --

Hors ligne

#5 Le 20/05/2008, à 19:09

trucutu

Re : [RESOLU]script:chercher fichier~ en excluan $HOME/.local/share/Trash

As tu essayé :

commande_find | grep -v path_poubelle

La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !

Hors ligne

#6 Le 20/05/2008, à 19:25

uboops

Re : [RESOLU]script:chercher fichier~ en excluan $HOME/.local/share/Trash

Il existe déja un script de maintenance tout fait ici  :

http://forum.ubuntu-fr.org/viewtopic.php?id=117039&p=1

http://doc.ubuntu-fr.org/maintenir_systeme

#7 Le 20/05/2008, à 19:36

Totor

Re : [RESOLU]script:chercher fichier~ en excluan $HOME/.local/share/Trash

trucutu a écrit :

As tu essayé :

commande_find | grep -v path_poubelle

c'est aussi possible mais dans ce cas, il ne doit pas effectuer le mv via la commande find.
Cela donnerait plutôt quelque chose comme ça :

commande_find | grep -v path_poubelle|xargs mv -t path_poubelle

ou encore comme suit :

commande_find | grep -v path_poubelle|awk '{print "mv "$1" path_poubelle"}'|bash

et il y a probablement d'autres possibilités wink

Note : je suis certain qu'il a oublié le ; big_smile

Dernière modification par Totor (Le 20/05/2008, à 19:38)


-- Lucid Lynx --

Hors ligne

#8 Le 20/05/2008, à 19:47

elfoiros

Re : [RESOLU]script:chercher fichier~ en excluan $HOME/.local/share/Trash

Totor: Attention, le separateur par défaut de la commande awk est le caractere d'espacement. Si il possede des espaces dans le nom du fichier àa risque de foutre le bordel. Il faut utiliser l'option -F de awk


find ~ -name "*~" 2> /dev/null | grep -v $HOME/.local/share/Trash | awk -F EOFEOF '{print "mv \""$1"\" $HOME/.local/share/Trash"}' | bash

Coluche : "Bite" c'est un gros mot, même si c'est une petite
Consultant e-commerce
Étude et realisation
Optimisation, maintenance

Hors ligne

#9 Le 20/05/2008, à 19:50

Totor

Re : [RESOLU]script:chercher fichier~ en excluan $HOME/.local/share/Trash

j'approuve smile


-- Lucid Lynx --

Hors ligne

#10 Le 20/05/2008, à 21:40

fanfantasy7

Re : [RESOLU]script:chercher fichier~ en excluan $HOME/.local/share/Trash

Totor a écrit :

ben je sais pas roll
n'as-tu pas oublié un ; à la fin de la ligne, comme dans ton post ? hmm?

par ailleurs, j'ai vu une coquille :
remplace /$HOME/ par $HOME/ ou par ~/ sinon, le filtre ne fonctionnera pas.

oui j'avai tous faux

bertrand@bertrand-laptop:~$ find ~ -name "*~" -a ! -path "$HOME/.local/share/Trash*" -ok mv {} ~/.local/share/Trash/files/ \;
< mv ... /home/bertrand/.gnome2/nautilus-scripts/test2~ > ? 
< mv ... /home/bertrand/.gnome2/nautilus-scripts/test~ > ? 
< mv ... /home/bertrand/.gnome2/nautilus-scripts/restaurer~ > ? 
find: /home/bertrand/.config/menus/applications-merged: Permission non accordée
< mv ... /home/bertrand/linux/script/bin/poubelle~ > ? 
< mv ... /home/bertrand/linux/script/clean_8.04.sh~ > ? 
find: /home/bertrand/.dbus: Permission non accordée
bertrand@bertrand-laptop:~$

ca marche
vous allez me dire il en veut toujour plus
mais j'aimerai que les lignes d'avertissement "Permission non accordée" n'apparaisse pas, si c'est possible
sinon c'est quoi "-a !" ? à quoi ca sert ?
merci beaucoup Totor


Fanfantasy7
pc fixe : Linux Mint
pc portable : Ubuntu LTS

Hors ligne

#11 Le 21/05/2008, à 06:04

Totor

Re : [RESOLU]script:chercher fichier~ en excluan $HOME/.local/share/Trash

Pour ne pas afficher l'erreur find: /home/bertrand/.dbus: Permission non accordée, rajoutes 2>/dev/null en fin de ligne (après le ;).

le "-a !" :
-a : opérateur "and"
! : négation

PS : n'oubli pas de mettre [résolu]

Dernière modification par Totor (Le 21/05/2008, à 07:00)


-- Lucid Lynx --

Hors ligne

#12 Le 21/05/2008, à 09:11

fanfantasy7

Re : [RESOLU]script:chercher fichier~ en excluan $HOME/.local/share/Trash

en grand merci à Totor

ca a marché une fois

mais maintenant ça met un temp fou

bertrand@bertrand-laptop:~$ find ~ -name "*~" -a ! -path "$HOME/.local/share/Trash*" -ok mv {} ~/.local/share/Trash/files/ \; 2>/dev/null

et quand je met pas 2>/dev/null la recherche se fait plus vite

Dernière modification par fanfantasy7 (Le 21/05/2008, à 09:19)


Fanfantasy7
pc fixe : Linux Mint
pc portable : Ubuntu LTS

Hors ligne

#13 Le 21/05/2008, à 12:54

fanfantasy7

Re : [RESOLU]script:chercher fichier~ en excluan $HOME/.local/share/Trash

a mon avis le 2>/dev/null placé aprés le ; n'affiche pas la ligne mais find attend une réponde quand même

j'ai réussi sans confirmation de déplacement

 mv `find $HOME/ -name "*~" -a ! -path "$HOME/.local/share/Trash*" 2>/dev/null` $HOME/.local/share/Trash/files/

mais j'aimerai vraiment avoir les choix de déplacement de déplacement

de plus les dossiers avec des espaces, ça bug
et quand je fait

 mv "`find $HOME/ -name "*~" -a ! -path "$HOME/.local/share/Trash*" 2>/dev/null`" $HOME/.local/share/Trash/files/

find retourne tous les resultat avec \n entre deux résultat et donc

bertrand@bertrand-laptop:~$ mv "`find $HOME/ -name "*~" -a ! -path "$HOME/.local/share/Trash*" 2>/dev/null`" $HOME/.local/share/Trash/files/
mv: ne peut évaluer `/home/bertrand/au bout du monde a gauche/test2~\n/home/bertrand/au bout du monde a gauche/test~\n/home/bertrand/au bout du monde a gauche/poubelle~\n/home/bertrand/au bout du monde a gauche/clean_ubuntu_8.04.sh~\n/home/bertrand/au bout du monde a gauche/php.php~\n/home/bertrand/au bout du monde a gauche/restaurer~': Aucun fichier ou dossier de ce type

Dernière modification par fanfantasy7 (Le 21/05/2008, à 13:05)


Fanfantasy7
pc fixe : Linux Mint
pc portable : Ubuntu LTS

Hors ligne

#14 Le 21/05/2008, à 14:07

Totor

Re : [RESOLU]script:chercher fichier~ en excluan $HOME/.local/share/Trash

Pour corriger ton problème d'espace dans le nom des fichiers à déplacer, il faut encadrer {} par des ", comme suit :

find ~ -name "*~" -a ! -path "$HOME/.local/share/Trash*" -ok mv "{}" ~/.local/share/Trash/files/ \;

par contre, j'ai le même comportement en ajoutant le 2>/dev/null avec l'option -ok (mais pas avec -exec qui est son équivalent mais sans confirmation)

et il n'y a pas d'option pour le mv permettant la confirmation même si le fichier n'existe pas....

je vais chercher..

par contre, ce que tu veux faire avec ...

mv "`find $HOME/ -name "*~" -a ! -path "$HOME/.local/share/Trash*" 2>/dev/null`" $HOME/.local/share/Trash/files/

est à faire comme cela :

find $HOME/ -name "*~" -a ! -path "$HOME/.local/share/Trash*" 2>/dev/null|xargs mv -t $HOME/.local/share/Trash/files/

mais tu n'as toujours pas de confirmation !

Dernière modification par Totor (Le 21/05/2008, à 14:12)


-- Lucid Lynx --

Hors ligne

#15 Le 21/05/2008, à 14:19

fanfantasy7

Re : [RESOLU]script:chercher fichier~ en excluan $HOME/.local/share/Trash

ok merci
ouai bizarre que 2>/dev/nul ne marche pas


Fanfantasy7
pc fixe : Linux Mint
pc portable : Ubuntu LTS

Hors ligne

#16 Le 21/05/2008, à 16:56

Totor

Re : [RESOLU]script:chercher fichier~ en excluan $HOME/.local/share/Trash

ce n'est pas que ça ne marche pas...
c'est que les questions ne sont pas visibles et que le prompt attend une réponse pour chacuns des fichiers trouvés.

bon, je n'ai pas trouvé pourquoi.
voici donc un petit script bash qui te permetteras de faire tout ça :


#!/bin/bash

DOS_POUBELLE="~/.local/share/Trash/files/"
COND_SELECTION="*~"
COND_SAUF="~/.local/share/Trash\*"

for fic in `find ~ -name "${COND_SELECTION}" -a ! -path "${COND_SAUF}" 2>/dev/null`
do
	# on pose la question 
        echo -n "Déplacer le fichier ${fic} dans ${DOS_POUBELLE} (O/N) : " && read rep
	# on met en majuscule la réponse 
	rep=`echo ${rep}|tr '[:lower:]' '[:upper:]'`
        # Si la réponse est O, alors on déplace, sinon, on ne fait rien
	[ "${rep}" = "O" ] &&  mv -vt "${DOS_POUBELLE}" "${fic}"
done

appelle-le comme tu veux mais n'oublie pas de lui mettre les droits d'exécution, au moins pour ton user (chmod u+x <nom_script>) !

Dernière modification par Totor (Le 21/05/2008, à 16:56)


-- Lucid Lynx --

Hors ligne