Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

J'essaye de faire une liste des dossiers/fichiers sur un dossier precis vers un fichier .txt.

Après bcp de recherche cela ne marche pas.

Le code le plus simple que j'ai trouvé c'est cela :

ls -Rl /volume1/BABA/* > /volume1/BABA/liste.txt

mm ce code, ne fonctionne pas

QQn aurait une idée?


Bonne journée

Posté(e)

Tjrs en erreur

 

J'ai essayé cela

ls -Rl /volume1/BABA/  > liste.TXT

Je reçoit ce message d'erreur par mail

-------------------------------------------------------------------

Tâche : LISTE 2

Heure de début : Tue, 26 Jul 2022 17:05:52 GMT
Heure d'arrêt : Tue, 26 Jul 2022 17:05:59 GMT
État actuel : 0 (Normal)
Sortie/erreur standard :

------------------------------------------------------------

Posté(e)
Il y a 5 heures, GARUDASEB a dit :

Tjrs en erreur

 

J'ai essayé cela

ls -Rl /volume1/BABA/  > liste.TXT

Je reçoit ce message d'erreur par mail

-------------------------------------------------------------------

Tâche : LISTE 2

Heure de début : Tue, 26 Jul 2022 17:05:52 GMT
Heure d'arrêt : Tue, 26 Jul 2022 17:05:59 GMT
État actuel : 0 (Normal)
Sortie/erreur standard :

------------------------------------------------------------

Visiblement, ça n'est pas exécuté en mode console.
Comment est-ce exécuté ?

Posté(e) (modifié)

La tâche est bien exécutée. Par contre il faudrait définir un chemin de solution absolu pour le fichier de sortie, sinon il est probablement créé dans le dossier home de l'utilisateur.

Modifié par PiwiLAbruti
Put@!# de correcteur automatique 🤬
Posté(e)

effectivement cela marche avec

ls -Rl /volume1/A-TRAITER/ >/volume1/A-TRAITER/liste.txt

Par contre, le format de sortie n'est pas Top :

Je voudrais que cela ressemble (pour pouvoir le retraiter après) à cela pour chaque fichier :

/volume1/A-TRAITER/Fichier1.avi

/volume1/A-TRAITER/Fichier1.doc

........

Je suppose qu'il faut rajouter des arguments au début

 

Merci pour votre aide !!!

 

 

Posté(e)
Il y a 6 heures, PiwiLAbruti a dit :

La tâche est bien exécutée. Par contre il faudrait définir un chemin de solution absolu pour le fichier de sortie, sinon il est probablement créé dans le dossier home de l'utilisateur.

Moi je suis resté sur sa ligne du premier post, c'était correct hormis le jocker

Sinon pour la liste simple, suffit de faire un simple ls -R et pas ls -Rl

Posté(e)
il y a 14 minutes, Einsteinium a dit :

Sinon pour la liste simple, suffit de faire un simple ls -R et pas ls -Rl

Ça ne donne pas le résultat demandé :

Il y a 5 heures, GARUDASEB a dit :

Par contre, le format de sortie n'est pas Top :

Je voudrais que cela ressemble (pour pouvoir le retraiter après) à cela pour chaque fichier :

/volume1/A-TRAITER/Fichier1.avi

/volume1/A-TRAITER/Fichier1.doc

D'où la commande que j'ai donnée un peu plus haut.

Posté(e)

hello pour la commande

user@DiskStation:~$ ls -lrt -d -1 "$PWD"/{*,.*} | awk '{print $9}' /volume1/A-TRAITER/ >/volume1/A-TRAITER/liste.txt

Je reçois le message d'erreur :

-------------------------------------------

Le planificateur de tâches a terminé une tâche planifiée.

Tâche : LISTE 2 A-TRAITER
Heure de début : Thu, 28 Jul 2022 07:50:32 GMT
Heure d'arrêt : Thu, 28 Jul 2022 07:50:32 GMT
État actuel : 0 (Normal)
Sortie/erreur standard :
/bin/bash: user@DiskStation:~$: command not found
awk: warning: command line argument `/volume1/A-TRAITER/' is a directory: skipped

--------------------------------------------------------------------

Posté(e) (modifié)

En effet cela marche pas mal avec :

ls -rt -d -1 "$PWD"/{*,.*} /volume1/A-TRAITER/* >/volume1/A-TRAITER/liste.txt

J'ai pu tester sur un autre dossier. mais cela ne remonte pas les sous-dossiers j'ai l'impression

Comment changer la profondeur de recherche ?

 

Modifié par GARUDASEB
Posté(e)

Rebonjour à tous les deux

@MilesTEG1

pas mieux avec : ls -rtR -d -1 "$PWD"/{*,.*} /volume1/A-TRAITER/* >/volume1/A-TRAITER/liste.txt

Je n'ai pas les sous-dossiers

@PiwiLAbruti

user@DiskStation:~$ ls -lrt -d -1 "$PWD"/{*,.*} /volume1/A-TRAITER/ | awk '{print $9}' >/volume1/A-TRAITER/liste.txt

Me renvoie :

Tâche : LISTE 2 A-TRAITER
Heure de début : Thu, 28 Jul 2022 09:30:55 GMT
Heure d'arrêt : Thu, 28 Jul 2022 09:30:55 GMT
État actuel : 0 (Normal)
Sortie/erreur standard :
/bin/bash: user@DiskStation:~$: command not found

 

 

Posté(e)
il y a 4 minutes, GARUDASEB a dit :

Me renvoie :

Tâche : LISTE 2 A-TRAITER
Heure de début : Thu, 28 Jul 2022 09:30:55 GMT
Heure d'arrêt : Thu, 28 Jul 2022 09:30:55 GMT
État actuel : 0 (Normal)
Sortie/erreur standard :
/bin/bash: user@DiskStation:~$: command not found

Aucune idée, cette commande fonctionne chez moi. Par contre je n'ai pas trouvé le moyen de parcourir récursivement les dossiers. -R semble inopérant lorsque -d est utilisé.

En fait il ne faut pas utiliser la commande ls, mais find :

find /volume1/A-TRAITER/* > /volume1/A-TRAITER/liste.txt

 

Posté(e)

Fait gaffe si tu veux utiliser le liste.txt avec un autre script, il va contenir aussi les noms des dossiers :

/volume1/A-TRAITER/fichier1.toto
/volume1/A-TRAITER/dossier
/volume1/A-TRAITER/dossier/fichier2.toto

Posté(e)

Oui effectivement, du coup je mets nom de fichier "ListeA-TRAITER.txt"

Par contre je m'appercois quand je fouille un dossier racine avec un espace du type "BABA BOBO", le script ne fonctionne pas mais cela fonctione si le nom est "BABA-BOBO"

il y a comme une rupture dans le script.....

 

 

Posté(e)

Colle le code de ton script ou partage un lien GitHub qu'on voit ce qu'il fait et comment ne pas traiter les dossiers 🙂

C'est en bash ?

Si c'est du bash, tu peux faire le teste de si l'élément est un fichier :

if [ -f $FILE ]
	then 
    
fi

Ou si c'est un dossier :

if [ -d $FILE ]
	then
    
fi

 

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.