LINUX.ORG.RU

wc -l


0

0

как посчитать количество срок всех файлов в заданом каталоге?

anonymous

Ответ на: комментарий от alexru

пардон, некорректно сформулировал вопрос. нужно рекурсивно обойти все подкаталоги и посчитать кол-во строк в файлах во всех подкаталогах

anonymous
()
Ответ на: комментарий от anonymous

sergey@athlon:~$ wc -l /tmp/qqq 
5 /tmp/qqq
sergey@athlon:~$ grep -r . /tmp/qqq |wc -l 
0


Угадай, почему так?

Teak ★★★★★
()
Ответ на: комментарий от anonymous

короче говоря find . -type f -print0 |xargs --null cat |wc -l

Если BSD, то там с нормальными find и xargs проблемы, за первое приближение сойдёт find . -type f |xargs cat |wc -l

Но только до тех пор, пока тебе не попадётся файл с пробельными символами в имени.

Teak ★★★★★
()
Ответ на: комментарий от iBliss

Ну тогда уж для полного счастья find . -type f -exec cat -- {} \; | wc -l

BSD cat это дело понимает, проверил :)

Teak ★★★★★
()
Ответ на: комментарий от Teak

> Если BSD, то там с нормальными find и xargs проблемы, за первое приближение сойдёт find . -type f |xargs cat |wc -l

> Но только до тех пор, пока тебе не попадётся файл с пробельными символами в имени.

НетБСД'шный find понимает -print0

а НетБСД'шный xargs понимает -0, а не -null как ты написал

dilmah ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.