Bonjour,
je voudrais savoir comment créer un fichier bash (#!/bin/bash) qui va lister les fichiers du répertoire dans lequel il est situé.
Merci de votre aide.
Bonjour,
je voudrais savoir comment créer un fichier bash (#!/bin/bash) qui va lister les fichiers du répertoire dans lequel il est situé.
Merci de votre aide.
Hello !
A priori, code:
A part si tu veux uniquement les fichiers et non répertoires, sinon il faut préciser un paramètre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #!/bin/bash ls
voire :
pour mettre dans un fichier texte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ls >fichier.txt
Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
Mon article sur le P2V, mon article sur le cloud
Consultez nos FAQ : Windows, Linux, Virtualisation
Salut et merci de ta reponse.
En faite, pour chaque fichier du répertoire je veux copier les fichiers ayant une DATE supérieur au jour J-1 dans un autre fichier .
Exemple: aujourd’hui 5 mai bah avec mon script je veux récupérer tous les nouveaux fichier qui ont une date supérieur au 4 MAI et les copier dans un fichier avec un nom lambda![]()
Bonjour,
Les réponses à la question initiale sont fausses: elles listent les fichiers du répertoire depuis lequel on exécute la commande et non les fichiers se trouvant dans le répertoire de la commande elle-même
-Je laisse N_BaH argumenter sur le fait d'utiliser ls...
-Pose ton problème en entier, la première demande n'a rien à voir avec la 2ème...
Et es-tu sure de vouloir mettre plusieurs fichier dans un seul fichier (c'est ce que tu demandes dans la 2ème question) ?
1) Créé un fichier Bash qui va lister les fichier dans mon répertoire.
2) Pour chaque fichier du répertoire afficher la date de dernière modif.
3) Pour chaque date regarder ceux modifié depuis la date d'hier ou + et qui n'a pas encore ete mis dans le fichier "a send" (voir etape 4)
4) Copier les fichier ayant une date de modif supérieur a la date J-1 dans un autre repertoire ( un dossier que je vais apl "a send"
En gros le but est de mettre tout les nouveautés dans le fichier "a send"
Merci a vous tous.
Je bloque vraiment x)
ce script fonctionne , mais n'est pas optimisé. Je ne souhaite copier que les images donc (jpg, jpeg, png, gif etc..)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #!/bin/bash ls -l find . -mtime -1 -exec cp {} to_send/ \;
Bonjour,
bien sûr, si le seul but du script était de lister les fichiers du répertoire courant, on pourrait utiliser ls...
mais
ON N'UTILISE PAS ls DANS UN SCRIPT !!!
ou au moins on n'essaie même pas d'en parcourir la sortie, parce que les noms de fichiers peuvent contenir des caractères qui interfèrent avec l'IFS (espace, tabulation, saut de ligne).
ce que tu veux faire est parfaitement réalisable dans une seule commande find.
chaque message apporte un petit ajout au cahier des charges, c'est pénible !
Bonjour
Déjà il ne faut pas confondre "l'endroit où je me trouve quand je lance un script" et "l'endroit où se trouve le script".
- L'endroit où je me trouve, c'est (au choix) .; $(pwd), $PWD ou $(/bin/pwd) (la différence entre $(pwd) et $(/bin/pwd) est minime et ne concerne que les liens symboliques. Si par exemple tu te trouves dans un dossier "x" qui pointe vers (par exemple) "/tmp", la première te donnera "x" et la seconde "/tmp").
- L'endroit où se trouve le script, c'est $(dirname "$0").
Ensuite, pour traiter (par exemple afficher) les fichiers situés dans un répertoire "xxx", la syntaxe est la suivante:
Les guillemets sont important dans le cas où "xxx" est un nom avec des espaces. Mais il faut les enlever pour l'étoile sinon elle n'est pas étendue. Et dans le traitement (ici l'affichage), les guillemets sont importants si le fichier traité est lui-aussi un nom avec des espaces.
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for fic in "xxx"/*; do echo "$fic" done
A partir de là, si tu veux suivre l'idée de disedorgue, alors un peu de stat pour récupérer le status du fichier, de cut pour couper les infos de ce status sur ce qui t'intéresse et de if pour faire des choix et c'est réglé...
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Partager