Afficher chemin absolu avec la commande ls

Afficher chemin absolu avec la commande ls - Shell/Batch - Programmation

Marsh Posté le 03-01-2007 à 10:32:29    

bonjour
j'aimerais pouvoir afficher le chemin absolu de chaque fichier avec la commande ls, et ce sur une seule ligne
mais malheureusement je ne vois aucune option qui permet de faire ca
 
exemple :
je voudrais afficher :  

Code :
  1. ls -1 -R /usr
  2. /usr/bin/toto
  3. /usr/bin/tata
  4. /usr/bin/....
  5. /usr/adm/...
  6. /usr/lib/...


 :jap:

Reply

Marsh Posté le 03-01-2007 à 10:32:29   

Reply

Marsh Posté le 04-01-2007 à 13:44:15    

Code :
  1. find /usr


ne fait pas ce que tu cherches?

Reply

Marsh Posté le 04-01-2007 à 15:32:34    

DarkAngel_s a écrit :

bonjour
j'aimerais pouvoir afficher le chemin absolu de chaque fichier avec la commande ls, et ce sur une seule ligne
mais malheureusement je ne vois aucune option qui permet de faire ca
 
exemple :
je voudrais afficher :  

Code :
  1. ls -1 -R /usr
  2. /usr/bin/toto
  3. /usr/bin/tata
  4. /usr/bin/....
  5. /usr/adm/...
  6. /usr/lib/...


 :jap:


 
Subtilité de "ls", si tu demande de lister un répertoire (comme "ls rep" ) il va te donner le contenu de "rep", à savoir le nom "brut" de chaque fichier. En revanche, si tu demandes de lister un fichier (comme "ls rep/truc" ), il va te donner le nom exact du fichier tel que tu l'as demandé, à savoir "rep/truc".
 
Tape donc "ls /usr/*" plutôt que "ls /usr"...

Message cité 1 fois
Message édité par Sve@r le 04-01-2007 à 15:33:10

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 06-01-2007 à 00:21:09    

Accessoirement, ajouter l'option -d pour éviter d'afficher le contenu d'éventuels sous-répertoires...

Reply

Marsh Posté le 06-01-2007 à 01:36:27    

Sve@r a écrit :

Subtilité de "ls", si tu demande de lister un répertoire (comme "ls rep" ) il va te donner le contenu de "rep", à savoir le nom "brut" de chaque fichier. En revanche, si tu demandes de lister un fichier (comme "ls rep/truc" ), il va te donner le nom exact du fichier tel que tu l'as demandé, à savoir "rep/truc".
 
Tape donc "ls /usr/*" plutôt que "ls /usr"...


 
L'inconvénient étant que si y'a trop de fichiers, la ligne avec le * sera étendu à une chaîne trop longue pour que le shell l'accepte.


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 06-01-2007 à 02:14:41    

Toucouch a écrit :

Accessoirement, ajouter l'option -d pour éviter d'afficher le contenu d'éventuels sous-répertoires...


Bonne remarque !!!
 

0x90 a écrit :

L'inconvénient étant que si y'a trop de fichiers, la ligne avec le * sera étendu à une chaîne trop longue pour que le shell l'accepte.


Ca m'est déjà arrivé avec grep (grep machin * => message "grep: too many arguments" ) mais jamais avec ls.
 
Sinon le script récursif qui
- lit le répertoire qu'on lui donne en argument
- affiche son contenu fichier par fichier
- si fichier traité est répertoire => appel du script pour le répertoire en question


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 06-01-2007 à 02:31:42    

> for f in `seq 33000`;do touch $f;done
> ls *


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 08-01-2007 à 16:36:16    

le find / a resolu mon probleme
merci :)

Reply

Marsh Posté le 08-01-2007 à 21:27:19    

0x90 a écrit :

> for f in `seq 33000`;do touch $f;done
> ls *


J'essaye ça dès demain :)


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed