надо сделать вот такое задание: посчитать кол-во файлов в текущем каталоге, имеющих точку в имени файла, создать файл с этим списком. заранее спасибо)
LinuxForum.Fans
[Решено] Помогите написать программу подсчета файлов
Автор: lion
6 сообщений
2665 просмотров
надо сделать вот такое задание: посчитать кол-во файлов в текущем каталоге, имеющих точку в имени файла, создать файл с этим списком. заранее спасибо)
на каком языке?
в шелле:
text
find -type f -name '*.*' | while read i; do (echo $i; echo $i >> files.list;) done | wc -l
я бы сделать чуть подругому:
text
find . -maxdepth 1 -type f -name '*.*' > listtxt ; cat listtxt|wc -lимеющих точку в имени файла
правда в данный список попадут все файлы аля lalala.txt
тут вопрос расширения уже входит ли эта точка и имя файла или расширение надо обрезать)
:)
text
find . -type f -name '*.*' -fprint listtxt1 -print | wc -l
Топикастеру: -maxdepth 1 - это в зависимости от условий задачи
voral,
А попадут ли при этом в Ваш список файлы с именем .blah-blah-blah ?
Небольшая статистика:
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
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
Войдите или зарегистрируйтесь, чтобы ответить.