#1 Le 13/09/2007, à 11:12
- Grahack
[résolu] bash: liste recursive donnant une ligne par fichier?
Bonjour, imaginez que vous êtes dans un répertoire contenant le répertoire rep1
ls -r rep1
donne par exemple
rep1/:
fichier_dans_rep1 rep2_dans_le_rep1
rep1/rep2_dans_le_rep1:
autre_fichier
mais j'aimerai plutôt récupérer une ligne par fichier qui n'est pas un répertoire, genre
rep1/fichier_dans_rep1
rep1/rep2_dans_le_rep1/autre_fichier
vous auriez une commande, des options, un script qui fait ça ?
OK, je viens de penser à find qui est là pour ça: find rep1 -type f
Voilà un forum efficace, avec des posts [résolus] DIREKT!
merci de rien
Hors ligne
#2 Le 13/09/2007, à 16:35
- SeB
Re : [résolu] bash: liste recursive donnant une ligne par fichier?
Déja chez moi c'est ls -R
Et essaye ls -R -1 rep/ c'est plus propre qu'un find si tu veux les nom de fichiers seulement
Dernière modification par SeB (Le 13/09/2007, à 16:37)
Hors ligne
#3 Le 13/09/2007, à 16:50
- Grahack
Re : [résolu] bash: liste recursive donnant une ligne par fichier?
Cela ne fait pas ce que je veux, je veux itérer sur la sortie avec un 'for', donc j'ai besoin d'une ligne par fichier pile poil.
Merci quand même pour le -R.
Hors ligne
#4 Le 13/09/2007, à 16:51
- SeB
Re : [résolu] bash: liste recursive donnant une ligne par fichier?
Cela ne fait pas ce que je veux, je veux itérer sur la sortie avec un 'for', donc j'ai besoin d'une ligne par fichier pile poil.
Merci quand même pour le -R.
Ca te donne une ligne par fichier pile poil avec le -1
Hors ligne
#5 Le 13/09/2007, à 17:13
- Grahack
Re : [résolu] bash: liste recursive donnant une ligne par fichier?
<ma_vie>Je fait un petit script qui convertit un répertoire de configs pour jEdit: j'ai besoin de pouvoir utiliser ce rep aussi bien sous Doze que sous Ubuntu ou autre.</ma_vie>
ça dépend des ls alors passque là je suis sous Cygwin et ton -1 ne fait pas ce que je veux (peut-être bien sous Ubuntu, mais je veux un script pour tout)
EDIT: explication: en fait je veux le chemin depuis le rep courant, alors que ls -R se base sur le rep d'en dessous
Dernière modification par Grahack (Le 13/09/2007, à 17:44)
Hors ligne
#6 Le 03/10/2008, à 19:06
- TeraBloc
Re : [résolu] bash: liste recursive donnant une ligne par fichier?
Salut,
moi aussi je me posais cette question : comment faire un ls -R donc récursif mais que la commande affiche les chemins absolus plutot que les chemins relatifs depuis le répertoire courant ? (parce que ls -l ne donne pas non plus un chemin absolu, ça donne juste des détails sur le fichier ou répertoire)
Dernière modification par TeraBloc (Le 03/10/2008, à 19:07)
Je l'avoue, je lis tous les posts des gens qui me répondent... :D
PC fixe : i3-540 - chipset graphique intégré - 4Go DDR3 1600 - Gigabyte H55M-UD2H. Ubuntu 10.04/10.10 (gnome) 64bits Windows 7 pro
PC portable : C2D P8700 (2.5GHz, 1066, 3Mo cache) - nVidia 130M (1Go) - 4Go DDR2 800. Ubuntu 10.04 (gnome) 64bits
Hors ligne
#7 Le 03/10/2008, à 19:30
- Totor
Re : [résolu] bash: liste recursive donnant une ligne par fichier?
Salut,
Essaie ceci (depuis le dossier parent à rep1) :
find -type f | sed 's/^\.\///'
ça devrait faire ce que tu souhaites....
-- Lucid Lynx --
Hors ligne
#8 Le 04/10/2008, à 00:04
- Link31
Re : [résolu] bash: liste recursive donnant une ligne par fichier?
Salut,
moi aussi je me posais cette question : comment faire un ls -R donc récursif mais que la commande affiche les chemins absolus plutot que les chemins relatifs depuis le répertoire courant ? (parce que ls -l ne donne pas non plus un chemin absolu, ça donne juste des détails sur le fichier ou répertoire)
dossier="$PWD"
cd /
ls -R "$dossier"
Hors ligne
#9 Le 04/10/2008, à 04:00
- Alain.g
Re : [résolu] bash: liste recursive donnant une ligne par fichier?
Salut
En prenant de l'un et de l'autre :
find "$PWD" -type f
Xubuntu Karmic !
Hors ligne
#10 Le 04/10/2008, à 11:10
- TeraBloc
Re : [résolu] bash: liste recursive donnant une ligne par fichier?
Ah voilà, c'est ça que je voulais ! ^^ Merci Alain.g et merci aux autres aussi
Je l'avoue, je lis tous les posts des gens qui me répondent... :D
PC fixe : i3-540 - chipset graphique intégré - 4Go DDR3 1600 - Gigabyte H55M-UD2H. Ubuntu 10.04/10.10 (gnome) 64bits Windows 7 pro
PC portable : C2D P8700 (2.5GHz, 1066, 3Mo cache) - nVidia 130M (1Go) - 4Go DDR2 800. Ubuntu 10.04 (gnome) 64bits
Hors ligne