LINUX.ORG.RU

как посчитать количество файлов в папке,путь к которой вводит пользователь?


0

1

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

команда wc,которую я хотела применить,считает лишь строки,байты и символы.. тут надо как то исхитриться и либо сделать атк чтобы файлы выводились построчно,либо еще чтото...не знаю,не получается(

и еще затупила на том как дир применить именно к тому путю что ввел пользователь =\

я новичок если что,проьба отнестись с пониманием..

Конструкция из find и wc -l поможет.

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

В чем смысл сакральный сего действия? По мне так проще ls -1 $path | wc -l, ну или ls -1a, если учитывать . и ..

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

>> ну если бы я не смотрела в справку

Попробуй её читать. Помогает.

GotF ★★★★★
()

>как посчитать количество файлов в папке,путь к которой вводит пользователь?

В папках нет файлов. В папках есть документы, корзины и т.п. Файлы есть в директориях (каталогах).

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

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

juliyajuliyajuliya
() автор топика
Ответ на: комментарий от silw

> По мне так проще ls -1 $path | wc -l, ну или ls -1a, если учитывать . и ..

Воистину кошеrно будет так:
( cd $path && echo * | sed -e 's@ @\n@g' | wc -l )

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

babusha> Элементарно!

И неправильно!

$ ./babusha.rb /tmp[br]
В директории /tmp46 файлов.\n

$ $ find /tmp -maxdepth 1 -type f | wc -l
8

З.Ы. за твой ruby, не к месту, тебя будут бить ногами как iZEN'a за zfs

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

кошерно это скрыв . .* и .. от посторонних глаз?) и пгавильно, нечего этим ругским знать что у нас в закромах.

silw ★★★★★
()

Однострочник на перле уже советовали?

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

и,народ! или ничего не пишем или по делу.

я понимаю,что надо вые**уться,мол ты такая ленивая овца а мы крутые программисты,но я пришла сюда за помощью,а не сарказмом вашим.спасибо за внимание.

juliyajuliyajuliya
() автор топика
Ответ на: комментарий от silw

Оно у меня ещё на пробелах спотыкается, шоб не расслаблялись :-)

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

не клево. могут быть пробелы в имнах, скрытые тоже по посчитаюся

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

хотя понял. Но лучше уточнить условие.

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

ну что еще, вот же sdio уже все написал:

find /tmp -maxdepth 1 -type f | wc -l

Тебе осталось понять как передавать скрипту параметры и понять как работать с переменными ( вроде $path). Обо всем этом можно почитать по той ссылке, что я запостил в самом начале.

silw ★★★★★
()

Тред не читал.

Поддиректории считать? Если не считать, то

ls -lA /path/to/dir|grep -c "^-"

Если считать вместе с файлами, то

ls -lA /path/to/dir|grep -c ".*"

Если посчитать количество файлов рекурсивно во всех поддиректориях, то

ls -lAR /path/to/dir|grep -c "^-"

Задачка на умение читать маны.

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

Аукцион невиданной щедрости

#!/bin/bash

echo -n "Таки скажите уже, куды мине итить? " && read $dir
echo "Тутычки у нас $(find $dir -maxdepth 1 -type f | wc -l) файлов"
Cancellor ★★★★☆
()
Ответ на: комментарий от juliyajuliyajuliya
#!/bin/bash        
if [ -z "$1" ]; then 
    echo usage: $0 path_to_directory
    exit
fi
ls -1 $1 | wc -l
fluorite ★★★★★
()
Ответ на: комментарий от babusha

babusha> УМВР

ну если ты не видишь разницы между директориями, файлами, линками и пр., то да, работает.

sdio ★★★★★
()

Ахтунг! Однострочник на zenity:

zenity --info --title «Вооот» --text «Тутычки у нас $(find $(zenity --entry --title „Ну-с“ --text „Таки скажите уже, куды мине итить?“) -maxdepth 1 -type f | wc -l) файлов»

Cancellor ★★★★☆
()

а какие файлы считать за файлы? именованные каналы, сокеты, файлы устройств за файлы канают?

ananas ★★★★★
()

<тут должен быть остроумный код скрипта, но мне лень, поэтому я лучше попрошу ТС доказать, что он не мужик разводящий форумчан под видом немужика>

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