The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Требуется помощь со скриптом"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"Требуется помощь со скриптом"  
Сообщение от padonak email(ok) on 28-Окт-08, 16:37 
Требуется скрипт на баш. Задача такова:Нужно выполнить заданную команду в заданной директории и всех поддиректориях. Исходными данными являются <директория> где идет поиск и <команда> которая выполняется.
Я представляю алгоритм решения, но как доходит до реализации, то ничерта не получается.
Препод в универе сказал что его можно выполнить в 4 строчки, я смог написать только одну.
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Требуется помощь со скриптом"  
Сообщение от NuINu (??) on 28-Окт-08, 16:48 
>Требуется скрипт на баш. Задача такова:Нужно выполнить заданную команду в заданной директории и всех поддиректориях. Исходными данными являются <директория> где идет поиск и <команда> которая выполняется.
>Я представляю алгоритм решения, но как доходит до реализации, то ничерта не
>получается.
>Препод в универе сказал что его можно выполнить в 4 строчки, я
>смог написать только одну.

я тоже не силен в арифметике, но мне кажеться тебе осталось еще 3!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Требуется помощь со скриптом"  
Сообщение от padonak email(ok) on 28-Окт-08, 16:58 
>>Требуется скрипт на баш. Задача такова:Нужно выполнить заданную команду в заданной директории и всех поддиректориях. Исходными данными являются <директория> где идет поиск и <команда> которая выполняется.
>>Я представляю алгоритм решения, но как доходит до реализации, то ничерта не
>>получается.
>>Препод в универе сказал что его можно выполнить в 4 строчки, я
>>смог написать только одну.
>
>я тоже не силен в арифметике, но мне кажеться тебе осталось еще
>3!

а я не силен в программирование((

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Требуется помощь со скриптом"  
Сообщение от vic (??) on 28-Окт-08, 17:23 
это делается в 1 строку.
препод плохо знает свой предмет.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "может, он просто задачи ставить не умеет"  
Сообщение от Andrey Mitrofanov on 28-Окт-08, 17:59 
>это делается в 1 строку.
>препод плохо знает свой предмет.

С другой стороны... На баше, без ls, без coreutils... без вообще внешних програм!.. с экранированием... да с рекурсией!..

Ну, на твёрдую пятёрку и "на лекции можете не ходить" - может потянуть. :))))

$SUBJ ?

...а переписать GNU find(utils?!) _полностью_ на GNU же bash-е -- это прямо _диплом_! %-O

---Редакция ждёт ваших предложений с темами "find на bash-е" для кандидатской и доктороской диссертаций!
...Ээээ... "Философские аспекты само-отображения пространства эккторров на континиуме дискретных оп-пераций над файловой системой в подмножестве УНИХ-подобных ОС на примере переписывания подневольными студентами"... Гм... .... ... Да! О чём это я??

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "может, он просто задачи ставить не умеет"  
Сообщение от vic (??) on 28-Окт-08, 18:25 
>...Ээээ... "Философские аспекты само-отображения пространства эккторров на континиуме дискретных оп-пераций над файловой
>системой в подмножестве УНИХ-подобных ОС на примере переписывания подневольными студентами"... Гм...
>.... ... Да! О чём это я??

ну вот трехстрочный коммент к решению в одну строку уже есть, осталось решение и мона сдавать =)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "преподу Требуется помощь"  
Сообщение от Andrey Mitrofanov on 28-Окт-08, 17:10 
>Препод в универе сказал что его можно выполнить в 4 строчки, я
>смог написать только одну.

Здесь, канешшнаа, студентам не подают, но...

Скажи своему преподу, что на ОпенНЕТ сказали, что три строчки и баш - лишние --
http:/search.shtml?words=find+AND+exec&sort=score&exclude=&r...
http:/search.shtml?words=find+AND+xargs&config=htdig_forum&r...
-- а также советовали получиться. В районе `info find`, например.

За такую _ценную_ информацию, трояк тебе обеспечен. :-P ...наверное.

ЗЫЖ Гм, хотя если с экранированием самоупражняться, то 4 строк может и не хватить... Но! Строки-то бывают длииииииииинные... %)))))

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "помощь близко!"  
Сообщение от Andrey Mitrofanov on 28-Окт-08, 18:47 
$ cat ./find.sh
#!/bin/bash
find $1 -exec /bin/bash -c "${*#$1} {}" \;

$ ./find.sh . echo
.
./find.sh
$ ./find.sh . ls -ld
drwxr-xr-x 2 abm abm 192 2008-10-28 18:38 .
-rwxr--r-- 1 abm abm 56 2008-10-28 18:38 ./find.sh
$ ./find.sh . stat -c \"%s %n\"
192 ./
56 ./find.sh
$ ./find.sh . true
$ ./find.sh . false
$ _

TODO: рекурсия, экранирование, #!/usr/bin/end find, заменить find bash-ем... философские аспекты, опять же!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "я-то сделал, но не всё"  
Сообщение от Andrey Mitrofanov on 29-Окт-08, 15:01 
>ЗЫЖ Гм, хотя если с экранированием самоупражняться, то 4 строк может и
>не хватить... Но! Строки-то бывают длииииииииинные... %)))))

Только bash, без внешних "экзешников", с рекурсией, с экранированием...

$ wc ./find.sh
10  46 246 ./find.sh
$ ./find.sh . echo
./dir1/find.sh000
./dir2/test-file
./find.sh
$ ./find.sh . ls -l
-r-xr--r-- 1 abm abm 56 2008-10-28 18:38 ./dir1/find.sh000
-rw-r--r-- 1 abm abm 0 2008-10-29 14:30 ./dir2/test-file
-rwxr--r-- 1 abm abm 246 2008-10-29 14:21 ./find.sh
$ ./find.sh . stat -c "%3s %n"
56 ./dir1/find.sh000
  0 ./dir2/test-file
246 ./find.sh
$ ./find.sh . true
$ _

Экранирование /[ ?*]/ в именах файлов - кривит. Пожалуй, продолжу изучение "философских аспектов...", если здоровья хватит, простветления подожду.

PS: Ага, иссходика не показал. Плагиата боюсь.
PPS: а ещё вдруг - $команда = код на баше... да создающий файлы и поддиректории... %)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "я-то сделал, но не всё"  
Сообщение от padonak email(ok) on 02-Ноя-08, 12:25 
Всем спасибо, у меня такой вариант получился:

#!/bin/bash
if [ "$2" == "" -o "$1" == "" ]; then echo "Usage: exec.sh path
\"command\" " ; exit ; fi
for i in `find $i -type d` ; do cd $1 ; $2 ; done;

Но призапуске скрипта результат у нас повторяется т.е. например пишу
./script.sh /windows ls -l

а в результате получаем

C  D  E  F
C  D  E  F
C  D  E  F
C  D  E  F
C  D  E  F
C  D  E  F

т.е. ерзультат повторяется много раз, в чем ошибка?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "я-то сделал, но не всё"  
Сообщение от angra (ok) on 03-Ноя-08, 00:41 
>т.е. ерзультат повторяется много раз, в чем ошибка?

Не обижайтесь, но в ДНК, программистом вам не быть, ищите себя на другом поприще.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "я-то сделал, но не всё"  
Сообщение от Keeper (??) on 03-Ноя-08, 01:01 
>Не обижайтесь, но в ДНК, программистом вам не быть, ищите себя на
>другом поприще.

Ладно, нарушу традицию, подам бедному студенту.
Как раз три строчки, из них одна полезная.

start_dir=$1
command_to_run=$2
find $start_dir -type d -exec $command_to_run \;

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "я-то сделал, но не всё"  
Сообщение от padonak (ok) on 03-Ноя-08, 10:57 
>>Не обижайтесь, но в ДНК, программистом вам не быть, ищите себя на
>>другом поприще.
>
>Ладно, нарушу традицию, подам бедному студенту.
>Как раз три строчки, из них одна полезная.
>
>start_dir=$1
>command_to_run=$2
>find $start_dir -type d -exec $command_to_run \;

Спасибо за помощь

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "я-то сделал, но не всё"  
Сообщение от padonak (ok) on 03-Ноя-08, 10:25 
>>т.е. ерзультат повторяется много раз, в чем ошибка?
>
>Не обижайтесь, но в ДНК, программистом вам не быть, ищите себя на
>другом поприще.

Я не стремлюсь им стать)))

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "я-то сделал, но не всё"  
Сообщение от vertur on 17-Ноя-08, 03:25 
>>>т.е. ерзультат повторяется много раз, в чем ошибка?
>>
>>Не обижайтесь, но в ДНК, программистом вам не быть, ищите себя на
>>другом поприще.
>
>Я не стремлюсь им стать)))

Тогда забейте на задание.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Требуется помощь со скриптом"  
Сообщение от vertur on 17-Ноя-08, 03:20 
>Требуется скрипт на баш. Задача такова:Нужно выполнить заданную команду в заданной директории и всех поддиректориях. Исходными данными являются <директория> где идет поиск и <команда> которая выполняется.
>Я представляю алгоритм решения, но как доходит до реализации, то ничерта не
>получается.
>Препод в универе сказал что его можно выполнить в 4 строчки, я
>смог написать только одну.

Добавте еще 3 строки каментов.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Требуется помощь со скриптом"  
Сообщение от vic (??) on 17-Ноя-08, 14:03 
>Добавте еще 3 строки каментов.

// Некропостинг это плохо
// Читать ответы других, чтобы не повторять ответы
// Некропостинг с повторами - дважды плохо =)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "Требуется помощь со скриптом"  
Сообщение от vertur on 17-Ноя-08, 15:41 
>>Добавте еще 3 строки каментов.
>
>// Некропостинг это плохо
>// Читать ответы других, чтобы не повторять ответы
>// Некропостинг с повторами - дважды плохо =)

А комментарии на русском это неуважение буржуйских коллег.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "Требуется помощь со скриптом"  
Сообщение от vic (??) on 17-Ноя-08, 16:05 
>>>Добавте еще 3 строки каментов.
>>
>>// Некропостинг это плохо
>>// Читать ответы других, чтобы не повторять ответы
>>// Некропостинг с повторами - дважды плохо =)
>
>А комментарии на русском это неуважение буржуйских коллег.

Тема на русском, на русском форуме, вот комментарии и были локализованы ;)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "Требуется помощь со скриптом"  
Сообщение от angra (ok) on 17-Ноя-08, 16:22 
А кто сказал что это комментарии? Не С/С++ единым живы, есть и другие языки :)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру