#!/bin/bash: не могу подсчитать количество файлов в каталоге (считать разучился, блин :))

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Ответить
PIF
Сообщения: 391

#!/bin/bash: не могу подсчитать количество файлов в каталоге

Сообщение PIF »

делаю так

Код: Выделить всё

pif@pif:~/tmp$ ls
OpenSource003-listings.txt  buffer/   chk_dir~*                    xorg7.0/
OpenSource003.zip           build/    fluxaqua-default-1.4.tar.gz
OpenSource003_20051230.pdf  chk_dir*  su.c

pif@pif:~/tmp$ cat chk_dir
#!/bin/bash
num=0
for file in "$( find ./ -type f )"
do
  echo "$file"
  let num=$num+1;
done

echo $num
pif@pif:~/tmp$ chk_dir
/*...вывод кучи имен файлов...*/
./fluxaqua-default-1.4.tar.gz
./OpenSource003.zip
./OpenSource003-listings.txt
./OpenSource003_20051230.pdf
./chk_dir~
./chk_dir
1 # по замыслу - количество файлов. Почему-то один :(
pif@pif:~/tmp$


Вот такая фигня. Что с ней делать, ума не приложу.
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус
Контактная информация:

Re: #!/bin/bash: не могу подсчитать количество файлов в каталоге

Сообщение KiWi »

Код: Выделить всё

  let num=$num+1;

на

Код: Выделить всё

let num+=1
Спасибо сказали:
PIF
Сообщения: 391

Re: #!/bin/bash: не могу подсчитать количество файлов в каталоге

Сообщение PIF »

IFL писал(а):
01.01.2006 17:20

Код: Выделить всё

  let num=$num+1;

на

Код: Выделить всё

let num+=1

Пробовал - таже фигня :(
может еще как-нибудь можно?
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: #!/bin/bash: не могу подсчитать количество файлов в каталоге

Сообщение v04bvs »

Код: Выделить всё

% ls                                                        /home/legioner/test
a  b  c  test.sh
% cat test.sh                                               /home/legioner/test
#!/bin/sh
num=0
for file in `find ./ -type f`
do
  echo "$file"
  num=$((num+1));
done

echo $num
% ./test.sh                                                 /home/legioner/test
./a
./test.sh
./b
./c
4
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: #!/bin/bash: не могу подсчитать количество файлов в каталоге

Сообщение t.t »

Если уж find . -type f, то почему не сделать просто |wc -l ? ;)
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
PIF
Сообщения: 391

Re: #!/bin/bash: не могу подсчитать количество файлов в каталоге

Сообщение PIF »

v04bvs писал(а):
01.01.2006 17:32


Спасибо, понял!


t.t писал(а):
01.01.2006 17:38
Если уж find . -type f, то почему не сделать просто |wc -l ? ;)

а хрен его знает :)
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: #!/bin/bash: не могу подсчитать количество файлов в каталоге

Сообщение v04bvs »

Кстати да, не в тему, но красиво
ls | tee /dev/stderr | wc -l
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: #!/bin/bash: не могу подсчитать количество файлов в каталоге

Сообщение t.t »

Ну, ls и find . -type f -- это всё-таки разные вещи :)
А зачем tee /dev/stderr ?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: #!/bin/bash: не могу подсчитать количество файлов в каталоге

Сообщение v04bvs »

А зачем tee /dev/stderr ?

Чтобы сначала вывести список файлов, а потом вывести их количество.
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: #!/bin/bash: не могу подсчитать количество файлов в каталоге

Сообщение t.t »

Кстати, for file in "$( find ./ -type f )" -- вообще не очень корректно: правильный результат будет только тогда, когда имена файлов не содержат пробелов.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
Angel_13th
Сообщения: 1164
Статус: ...-oo=ll=oo-...
ОС: Gentoo

Re: #!/bin/bash: не могу подсчитать количество файлов в каталоге

Сообщение Angel_13th »

Я бы сделал так.

Код: Выделить всё

find -type f|cat -n
WorkStation Ubuntu 10.10 on Fujitsu-Siemens Amilo Pro 3545
Спасибо сказали:
Ответить