Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: rcbandit в Jan 16, 2011, 17:42



Титла: Задача за bash
Публикувано от: rcbandit в Jan 16, 2011, 17:42
Имам малко нужда за една задача

       Напишете скрипт, който получава като параметри образец и име на файл
       и извежда всички редове от този файл, съдържащи дадения образец.
       Помислете как може да реализирате контрол на аргументите на скрипта.

Някой сеща ли се как да стане скрипта?


Титла: Re: Задача за bash
Публикувано от: Naka в Jan 16, 2011, 18:02
Цитат
Напишете скрипт, който получава като параметри образец и име на файл
       и извежда всички редове от този файл, съдържащи дадения образец.
       Помислете как може да реализирате контрол на аргументите на скрипта.

Ама даже и не си се постарал да не изглежда като курсова задача. ;D


Титла: Re: Задача за bash
Публикувано от: b2l в Jan 16, 2011, 18:04
Ама даже и не си се постарал да не иглежда като курсова задача. ;D

Съмнявам се да е курсова. Много проста курсова ми се вижда :D.


Титла: Re: Задача за bash
Публикувано от: rcbandit в Jan 16, 2011, 18:06
Това е 13 последна задача от курсова работа
Само тя ми остана но не знам как да я напиша.


Титла: Re: Задача за bash
Публикувано от: b2l в Jan 16, 2011, 18:10
Това е 13 последна задача от курсова работа
Само тя ми остана но не знам как да я напиша.

Не можеш да grep-ваш ли?


Титла: Re: Задача за bash
Публикувано от: rcbandit в Jan 16, 2011, 18:21
трябва на bash да се направи а аз не го разбирам


Титла: Re: Задача за bash
Публикувано от: Naka в Jan 16, 2011, 18:24
cat file_name | grep -i "PATTERN"



Титла: Re: Задача за bash
Публикувано от: neter в Jan 17, 2011, 20:15
rcbandit, обърни внимание, че в задачата се иска файлът и образецът да се подадат като параметри към скрипта. Това означава да не са вписани вътре в самия файл, а да се вписват на реда, с който изпълняваш скрипта. За целта bash има системни променливи с имена $1, $2, $3 и т.н., съответстващи на позицията на параметъра в реда за изпълняване на скрипта. Т.е., ако извикваме скрипта така:
Код
GeSHi (Bash):
  1. ./скрипт "/път/до/файла/за/четене" "образец"
то бихме оформили кода на скрипта така:
Код
GeSHi (Bash):
  1. #!/bin/bash
  2.  
  3. cat "$1" | grep -i "$2"
В заданието не става ясно дали за търсенето на образеца да са от значение големи/малки букви (параметърът "-i" към grep указва да няма значение, зачети се в опциите на grep), така че ти си прецени да го има ли този параметър или не. Поиграй си с тези системни променливи и се зачети за още системни променливи, за да си изясниш нещата. Щом си се заел да го учиш, недей просто да копираш кода ;)


Титла: Re: Задача за bash
Публикувано от: bop_bop_mara в Jan 17, 2011, 21:17
Всъщност grep не е нужно да търси за match на стандартния вход, съвесем спокойно може да му се укаже името на файла, вместо да се прави pipeline с cat.


Титла: Re: Задача за bash
Публикувано от: edmon в Jan 18, 2011, 12:27
А що е то баш и има ли то почва у нас ??!?!? :)
хехехехехе


Титла: Re: Задача за bash
Публикувано от: luda_glawa в Jan 18, 2011, 14:02
Само да попитам помагащите дали си представят как е действал младежа при решаването на другите 12 въпроса? Предполагам пак по същия начин - мързелешката. Някой от вас да е чувал за РАБФАК? За справка цък - тук ($2).


Титла: Re: Задача за bash
Публикувано от: edmon в Jan 18, 2011, 17:25
Само да попитам помагащите дали си представят как е действал младежа при решаването на другите 12 въпроса? Предполагам пак по същия начин - мързелешката. Някой от вас да е чувал за РАБФАК? За справка цък - тук ($2).

Може би е време да се предоставят възможности на днешната академична младеж да си плати.
Превежда 10 кинта на линукс-бг и тогава му се публикува питането ! :)


Титла: Re: Задача за bash
Публикувано от: Naka в Jan 18, 2011, 18:17
Какви 10 Кинта..... 10 Euro !!!

А за perl и bash предлагам минимум 25 Euro, щото предизвикват мозъчни увреждания.


Титла: Re: Задача за bash
Публикувано от: luda_glawa в Jan 18, 2011, 20:31
Не е идеята да си плаща, а да се помъчи.