#1 Le 19/09/2011, à 21:26
- va2bdc
lister les sous répertoires avec ls
bonjour,
J'essaie de faire un listing d'un répertoire avec ses sous dossiers, mais je n'y arrive pas. Je fais la commande du style
ls *.avi >> monlisting
il ne m'affiche que les fichiers du dossier courant et non les sous répertoires.Connaissez-vous un options sous ls pour lister les sous répertoires aussi
merci de me répondre si vous savez
Dernière modification par va2bdc (Le 19/09/2011, à 21:27)
Hors ligne
#2 Le 19/09/2011, à 21:38
- Amarokk
Re : lister les sous répertoires avec ls
Installe le paquet "tree" et lance la commande du même nom
Je pense pas que ls le prenne en charge, enfin j'ai pas cherché mais j'imagine que toi, oui
Ubuntuboy since 2007
Hors ligne
#3 Le 19/09/2011, à 21:38
- Pylades
Re : lister les sous répertoires avec ls
Salut,
ls -R
?
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#4 Le 19/09/2011, à 21:41
- Amarokk
Re : lister les sous répertoires avec ls
Ah bah oui.
J'imagine que dans ce cas là, un petit RTFM s'impose?
Ubuntuboy since 2007
Hors ligne
#5 Le 19/09/2011, à 21:49
- va2bdc
Re : lister les sous répertoires avec ls
Installe le paquet "tree" et lance la commande du même nom
Je pense pas que ls le prenne en charge, enfin j'ai pas cherché mais j'imagine que toi, oui
mais tu peux pas faire tree *.avi >>listing plutôt ça marche mais avec des erreurs d'ouverture de dossiers
Hors ligne
#6 Le 19/09/2011, à 21:51
- va2bdc
Re : lister les sous répertoires avec ls
non,à moins d'une grosse erreur de ma part ls -R *.avi>>listing ne marche pas. j'ai essayé aussi l'options -R
mais rien je ne comprends pas pourquoi. Je vais encore essayer...
Hors ligne
#7 Le 19/09/2011, à 22:26
- va2bdc
Re : lister les sous répertoires avec ls
en faites LS --recursive ou -R marche pour tous les fichiers mais pas par la suite "ls -R *.avi >> listing
Je ne sais pas pourquoi.
Merci encore...
Hors ligne
#8 Le 19/09/2011, à 22:32
- maman
Re : lister les sous répertoires avec ls
90% of teens today would die if Facebook was completely destroyed. If you are one of the 10% that would be laughing, copy and paste this to your signature.
Hors ligne
#9 Le 19/09/2011, à 22:36
- Pylades
Re : lister les sous répertoires avec ls
Ce que tu veux c’est :
find -name '*.avi'
Non ?
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#10 Le 19/09/2011, à 22:36
- kamui57
Re : lister les sous répertoires avec ls
essaie (edit : mieux ↑↑↑)
ls -R -1|grep -E ".avi$" > listing
Dernière modification par kamui57 (Le 19/09/2011, à 22:38)
Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas (proverbe indien)
Toshiba Satellite L655 4 Go RAM, Archlinux Gnome-shell,LXDE / W7
Toshiba Satellite M30 512 Mo RAM, Archlinux Gnome 3 restreint / Crunchbang LXDE
https://help.ubuntu.com/community/Pastebinit pour poster du texte sur internet en console
Hors ligne
#11 Le 19/09/2011, à 22:38
- Amarokk
Re : lister les sous répertoires avec ls
ls -R |egrep '(^\.|*.avi)' > listing
Par contre, ça t'affiche même les répertoires où il ne trouve pas d'avi.
EDIT: damn, je me suis fait doubler!
Dernière modification par Amarokk (Le 19/09/2011, à 22:38)
Ubuntuboy since 2007
Hors ligne
#12 Le 19/09/2011, à 22:42
- va2bdc
Re : lister les sous répertoires avec ls
EXCELLENT vous êtes au top! ça marche avec ls -R |egrep '(^\.|*.avi)' > listing
merci
et encore mieux avec ls -R -1|grep -E ".avi$" > listing
merci
Dernière modification par va2bdc (Le 19/09/2011, à 22:58)
Hors ligne
#13 Le 21/09/2011, à 23:27
- Postmortem
Re : lister les sous répertoires avec ls
Salut,
Une autre solution :
shopt -s globstar
ls **/*.avi
EDIT : les solutions à base de grep ou egrep ne sont pas bonnes :
$ ls -R
.:
tata.txt test1 titi.avi totoavi
./test1:
tata.txt titi.avi totoavi
$ ls -R | egrep '(^\.|*.avi)'
.:
titi.avi
totoavi
./test1:
titi.avi
totoavi
$ ls -R -1|grep -E ".avi$"
titi.avi
totoavi
titi.avi
totoavi
Dernière modification par Postmortem (Le 21/09/2011, à 23:51)
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#14 Le 22/09/2011, à 01:12
- Postmortem
Re : lister les sous répertoires avec ls
en faites LS --recursive ou -R marche pour tous les fichiers mais pas par la suite "ls -R *.avi >> listing
Je ne sais pas pourquoi.
Merci encore...
ls -R *.avi ne donne que tous les fichiers ".avi" présents dans le répertoire courant car le "*.avi" est remplacé par la liste des fichiers se terminant par ".avi" qui se trouve dans le répertoire courant ; la commande "ls" est ensuite exécutée.
Par exemple, si tu te trouves dans un répertoire et que celui-ci contient un fichier film.avi, un fichier film2.avi puis des sous-repertoires contenant d'autres fichiers ".avi", la commande ls -R *.avi est "transformée" en ls -R film.avi film2.avi et donc, "ls" ne liste que ces 2 fichiers.
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#15 Le 22/09/2011, à 07:41
- Levi59
Re : lister les sous répertoires avec ls
grep fonctionne:
ls -R -1 | grep "\.avi$"
Hors ligne
#16 Le 22/09/2011, à 10:08
- Postmortem
Re : lister les sous répertoires avec ls
grep fonctionne:
ls -R -1 | grep "\.avi$"
J'indiquais que les commandes à base de grep données avant la tienne n'étaient pas bonnes.
La tienne fonctionne sauf dans le cas, certes tordu, où un nom de fichier contiendrait un retour à la ligne (d'ailleurs, me suis toujours demandé pourquoi le retour à la ligne était autorisé dans les noms de fichier !?!)
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#17 Le 22/09/2011, à 11:12
- Levi59
Re : lister les sous répertoires avec ls
Un retour à la ligne? Bizarre en effet...
la commande find devrait résoudre ton problème si l'on ne peut utiliser glob:
find . -maxdepth 1 -regex '.*\.avi$'
Hors ligne
#18 Le 22/09/2011, à 11:26
- pingouinux
Re : lister les sous répertoires avec ls
Ou bien (pour descendre toute l'arborescence) :
find . -iname \*.avi
Hors ligne