2013-03-25 3 views
2

У меня есть каталог с большим количеством подкаталогов, и я хочу перечислить все его файлы с определенным расширением в каждой строке, включая каталог (sub), в котором они находятся . Я теперь с помощью:ls: как отображать каталог + имя файла в каждой строке

ls /home/directory -R | grep ".ext" > files.txt 

это не дает мне выход я ищу ... в идеале я хотел бы вывод, который выглядит примерно так:

/home/directory/subdirectory1/file1.ext    4.3Mb 
/home/directory/subdirectory1/subsubdir1/file2.ext 3.3Mb 
/home/directory/subdirectory2/file3.ext    4.6Mb 
/home/directory/subdirectory3/file4.ext    5.2Mb 
... etc 

Or еще лучше, с каталогами и именами файлов в отдельных столбцах:

/home/directory/subdirectory1/    file1.ext 4.3Mb 
/home/directory/subdirectory1/subsubdir1/ file2.ext 3.3Mb 
/home/directory/subdirectory2/    file3.ext 4.6Mb 
/home/directory/subdirectory3/    file4.ext 5.2Mb 
... etc 

Любые идеи о том, как это сделать? Большое спасибо!

+0

похоже, что вы хотите получить выход 'du' ... – Kent

ответ

6

find putty -type f -name '*.c' -printf "%h\t%f\t%s\n" | column -t

будет производить что-то вроде этого

putty   sshzlib.c 38615 
putty   notiming.c 584 
putty/charset macenc.c 7129 
putty/charset sbcs.c  1190 

Если вы хотите, чтобы весь путь, представить свои аргументы каталога, чтобы найти как абсолютный путь к директории от корня.

+0

Спасибо, это прекрасно! – Abdel

+0

Добро пожаловать! – MattH

Смежные вопросы