LinuxForum.Fans
Тема

Помощь со скриптом

Автор: vladimir_bogachev 33 сообщений 4947 просмотров
14.12.2014 22:06 #405134

Привет народ! У меня роблема с Bash скриптом - нужно написать скрипт который находит файлы с заданным пользоватедем именем в заданной директории. Затем выдает выбор того, хочет ли пользователь увидеть количество найденных файлов или путь к каждому, и согласно выбору скрипт выводит на экран соответсвующуюю инфу. Заранее спасибо за помощь!

14.12.2014 22:16 #405136

man find

оно и не такое может

15.12.2014 00:12 #405144

Офигительно развернутый ответ, чувак!

15.12.2014 00:19 #405145

Ну так приведите что написали. Может подскажут где ошибка.

15.12.2014 00:21 #405146

vladimir_bogachev, Этот ответ подразумевает что уже есть такая "фича" как вы пытаетесь соорудить, это не скрипт, а полноценное приложение, и может оно уж точно не меньше чем нужно вам. Называется это приложение "find". Ну а чтобы узнать как им пользоваться нужно прочитать справку о нем, которая достумна по комманде man find
.....эмммм..... так лучше??

15.12.2014 00:22 #405147

baralgin, Ыыы, ты не понял, кажись тут хотят чтоб кто-то написал и выложин на блЯдечке с голубой каемочкой))

15.12.2014 00:22 #405148

Это, я понял, в общем проблема именно в том, как выдать только количество найденных файлов или только пути к ним

15.12.2014 00:23 #405149
"vladimir_bogachev" написал:
Это, я понял, в общем проблема именно в том, как выдать только количество найденных файлов или только пути к ним

Ок, а что уже написано???

15.12.2014 00:23 #405150

сейчас...

15.12.2014 00:27 #405151

echo Введите имя файла:
read Name
echo Введите директорию:
read Path
find /$Verzeichnis -iname "$Name*"
echo Выбирети один из 2 вариантов
echo 1 - Выдать путь файлов
echo 2 - Выдать кол-во найденных файлов
read Choice
case $Choice in
1)
2)
esac

15.12.2014 00:28 #405152

Вот что писать где 1) и 2)?

15.12.2014 00:53 · отредактировано #405154

vladimir_bogachev,
Строка поиска find $Path -iname $Name* >> /tmp/files
Выдача количества wc -l /tmp/files
Листинг путей cat /tmp/files
И в конце удаляем результаты rm /tmp/files

15.12.2014 01:20 #405155

wc -l /tmp/files вот он еще выдает сам путь /tmp/files, как можно без жтого?

15.12.2014 01:30 #405156

еще вопрос, как выдать результат в одну строку типа:
найдено "wc -l /tmp/files" файлов

15.12.2014 01:34 #405157
"vladimir_bogachev" написал:
wc -l /tmp/files вот он еще выдает сам путь /tmp/files, как можно без жтого?

А если так:

text
#!/bin/bash
echo Введите имя файла:
read Name
echo Введите директорию:
read Path
echo Выбирети один из 2 вариантов
echo 1 - Выдать путь файлов
echo 2 - Выдать кол-во найденных файлов
read n
if [[ "$n" = *2* ]]; 
then
    find $Path -iname $Name* | wc -l
else
    find $Path -iname $Name* 
fi
15.12.2014 01:39 · отредактировано #405158
"vladimir_bogachev" написал:
еще вопрос, как выдать результат в одну строку типа:найдено "wc -l /tmp/files" файлов
text
#!/bin/bash
echo Введите имя файла:
read Name
echo Введите директорию:
read Path
echo Выбирети один из 2 вариантов
echo 1 - Выдать путь файлов
echo 2 - Выдать кол-во найденных файлов
read n
if [[ "$n" = *2* ]]; 
then
    echo founded `find $Path -iname $Name* | wc -l` files
else
    find $Path -iname $Name* 
fi

Ну или сАвсЭм извращенно

text
#!/bin/bash
red='\033[1;31m'
blue='\033[1;34m'
echo Введите имя файла:
read Name
echo Введите директорию:
read Path
echo Выбирети один из 2 вариантов
echo 1 - Выдать путь файлов
echo 2 - Выдать кол-во найденных файлов
read n
clear
if [[ "$n" = *2* ]]; 
then
    echo -e "${red} founded ${blue}`find $Path -iname $Name* | wc -l` ${red}files"
else
    find $Path -iname $Name* 
fi

ЗЫ
Советую почитать:
If...then...else...fi
Bash-Colors полезно в выдаче результатов

15.12.2014 08:00 #405169
diablopc написал:

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

15.12.2014 12:05 #405191

Cruiser78, Эххххх..... вот отсюда и берутся юзвери, которые при словах "вбей в поиске" открывают вконтакты и жмут там "поиск" =)

15.12.2014 18:11 · отредактировано #405273
"Cruiser78" написал:
Да не будет он читать. Это ленивый студень или школьник
"diablopc" написал:
Эххххх..... вот отсюда и берутся юзвери, которые при словах "вбей в поиске" открывают вконтакты и жмут там "поиск" =)

Народ, ваши советы всё равно пойдут на пользу,
во-первых — даже переписывая шпору(шпаргалку), у студента кое-что откладывается в мозжечке(зависит от размера оного)
во-вторых — по форуму бродят чайники, наподобие меня и читают шибко умные советы, пытаются в них разобраться.
Спасибо за умную инфу и полезные советы!
зы: если видите, что вопрос явно от чайника, не пинайте и постарайтесь разжевать(если есть время и настроение), ибо в гугле написано чересчур умно

16.12.2014 22:24 #405521

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

Войдите или зарегистрируйтесь, чтобы ответить.