LinuxForum.Fans
Тема

[Решено] Помогите написать программу подсчета файлов

Автор: lion 6 сообщений 2665 просмотров
#22747

надо сделать вот такое задание: посчитать кол-во файлов в текущем каталоге, имеющих точку в имени файла, создать файл с этим списком. заранее спасибо)

#22767
lion написал:
надо сделать вот такое задание: посчитать кол-во файлов в текущем каталоге, имеющих точку в имени файла, создать файл с этим списком. заранее спасибо)

на каком языке?

в шелле:

text

find  -type f -name '*.*' | while read  i; do (echo $i; echo $i >> files.list;) done | wc -l
#22775

я бы сделать чуть подругому:

text
find . -maxdepth 1  -type f -name '*.*' > listtxt ; cat listtxt|wc -l

имеющих точку в имени файла

правда в данный список попадут все файлы аля lalala.txt
тут вопрос расширения уже входит ли эта точка и имя файла или расширение надо обрезать)

#22810

:)

text

find . -type f -name '*.*' -fprint listtxt1 -print | wc -l

Топикастеру: -maxdepth 1 - это в зависимости от условий задачи

#22816

voral,
А попадут ли при этом в Ваш список файлы с именем .blah-blah-blah ?

#22817

Небольшая статистика:

text

alex@Debian:~/ProjectV/ud$ time find . -type f -name '*8*' -fprint listtxt1 -print | wc -l
36
real    0m0.007s

alex@Debian:~/ProjectV/ud$ time find . -type f -name '*8*' > listtxt ; cat listtxt|wc -l real 0m0.009s 36

alex@Debian:~/ProjectV/ud$ time find -type f -name '*8*' | while read i; do (echo $i; echo $i >> files.list;) done | wc -l 36 real 0m0.071s

Hvzh написал:
voral,
А попадут ли при этом в Ваш список файлы с именем .blah-blah-blah ?

Только что попробовал - попадают

text

alex@Debian:~/ProjectV/ud$ find . -type f -name '*.*' -fprint listtxt1 -print | wc -l
508
alex@Debian:~/ProjectV/ud$ cat >.ttt
asd
alex@Debian:~/ProjectV/ud$ find . -type f -name '*.*' -fprint listtxt1 -print | wc -l
509
Войдите или зарегистрируйтесь, чтобы ответить.