Как мне получить команду find для распечатки размера файла с именем файла? - PullRequest
84 голосов
/ 15 сентября 2008

Если я введу команду поиска следующим образом:

$ find . -name *.ear

Распечатывает:

./dir1/dir2/earFile1.ear
./dir1/dir2/earFile2.ear
./dir1/dir3/earFile1.ear

То, что я хочу «напечатать» в командной строке, это имя и размер:

./dir1/dir2/earFile1.ear  5000 KB
./dir1/dir2/earFile2.ear  5400 KB
./dir1/dir3/earFile1.ear  5400 KB

Ответы [ 14 ]

1 голос
/ 05 января 2010
$ find . -name "test*" -exec du -sh {} \;
4.0K    ./test1
0       ./test2
0       ./test3
0       ./test4
$

Справочник Scripter World

1 голос
/ 15 сентября 2008
find . -name "*.ear" | xargs ls -sh
1 голос
/ 15 сентября 2008

Вы можете попробовать это:

find. -name *.ear -exec du {} \;

Это даст вам размер в байтах. Но команда du также принимает параметры -k для КБ и -m для МБ. Это даст вам вывод, как

5000  ./dir1/dir2/earFile1.ear
5400  ./dir1/dir2/earFile2.ear
5400  ./dir1/dir3/earFile1.ear
0 голосов
/ 15 сентября 2008
find . -name "*.ear" -exec ls -l {} \;
...