2017-02-27 5 views
1

Je veux la sortie comme indiqué dans l'exemple ci-dessous.obtenir la liste des fichiers hirarchically avec son chemin absolu

[email protected]:~/.atom# du -sh */* | awk '{print $2}' 
blob-store/BLOB 
blob-store/INVKEYS 
blob-store/MAP 
compile-cache/less 
compile-cache/root 
compile-cache/style-manager 
packages/README.md 
storage/application.json 
[email protected]:~/.atom# 

Mais ls ne donne pas cette sortie avec l'une de ses options/arguments. 'ls -R' donne le chemin et ensuite son contenu pas le nom du fichier avec son chemin absolu.

J'ai besoin de cela très souvent tout en écrivant des scripts, Quelqu'un peut-il m'aider avec cela? Merci tas d'avance.

+1

Copie possible de [Comment puis-je lister les fichiers avec leur chemin absolu dans Linux?] (Http://stackoverflow.com/questions/246215/how-can-i-list-files-with-their-absolute -path-in-linux) – putonspectacles

+0

voir http://stackoverflow.com/questions/246215/how-can-i-list-files-with-their-absolute-path-in-linux – putonspectacles

Répondre

0

Vous pouvez utiliser find, un exemple pour une profondeur de 2:

find . -maxdepth 2 -mindepth 2 -printf '%P\n' 

Si vous souhaitez exclure des fichiers de points:

find . -maxdepth 2 -mindepth 2 -not -path '*/\.*' -printf '%P\n' 

Si vous voulez trier le résultat (comme du -sh) :

find . -maxdepth 2 -mindepth 2 -not -path '*/\.*' -printf '%P\n' | sort 
+0

Merci beaucoup cette solution a fonctionné à la perfection. Merci beaucoup Bertrand :) – Akplive139

+0

Content de vous aider, vous pouvez accepter la réponse si votre problème est résolu –

0

essayer ce -