Ahojte, vedel by mi niekto pomôcť s týmito skriptami? Vôbec si s tým neviem rady.
1) zo stránky zadanej ako prvý parameter spracujte odkazy nachádzajúce sa ako prvé v riadku v zdrojovom kóde
(ak je ich v riadku viac, vypíše sa iba prvý). Vypíšte ich vo formáte: "nasiel som SK stranku: $odkaz\n" (kde
$odkaz reprezentuje odkaz) pokiaľ odkaz na stránku obsahuje podreťazec ".sk" inak vypíšte odkazy vo formáte:
"nasiel som cudziu stranku: $odkaz\n"
2) prezrite všetky textové (regular/obyčajný) súbory v zadanom priečinku (prvý parameter) a vyhľadajte v nich
zadané slovo (druhý parameter). Pokiaľ súbor obsahuje zadané slovo, vypíšte hlášku: "ANO, v $subor je slovo
$2" inak vypíšte: "NIE, v $subor nie je slovo $2"
3) vypíšte (len) názvy zariadení pomocou príkazu lspci, ktoré sú typu "PCI bridge"
Navyše, zlyhal notebook, a na maminom to nemám ako vyskúšať. (Nechcem sa jej v tom brblať)
Ďakujem
Bash skripty
Re: Bash skripty
Ahoj. Máš už skript v nejakej podobe?
//autoeditácia príspevku (10 Máj 2014, 14:17)
1) nerozumiem poriadne zadaniu...najlepsie je uviest konkretny pripad
2) neviem ci to chces takto...
3)
Je to zbuchane len narychlo.
//autoeditácia príspevku (10 Máj 2014, 14:17)
1) nerozumiem poriadne zadaniu...najlepsie je uviest konkretny pripad
2) neviem ci to chces takto...
Kód: Vybrať všetko
#!/bin/bash
prvy_parameter=~/folder/*
druhy_parameter="slovo"
if subor=$(grep -H $druhy_parameter $prvy_parameter | cut -d: -f1)
then
printf "ANO, $druhy_parameter sa nachadza v:\n$subor\n"
else
printf "NIE, $druhy_parameter sa nenachadza v:\n$subor\n"
fi
Kód: Vybrať všetko
lspci | grep "PCI bridge"Re: Bash skripty
Ahoj, ďakujem.
Prvá úloha znamená, že prvý parameter bude webová adresa stránky, ktorú stiahnem, zrejme cez príkaz wget. Potom v každom riadku zdrojového kódu tej stránky (čiže riadky oddelím napr. IFS=$'\n') nájdem link, a podľa toho, či link obsahuje .sk, alebo čokoľvek iné, vypíšem, či je to SK, alebo cudzia stránka.
Druhému príkladu nie celkom rozumiem (tvojmu kódu). Ten prvý a druhý parameter by sa mal zadávať z Terminalu pri volaní daného .sh súboru. Alebo to chápem zle, a tak si to aj myslel?
Prvá úloha znamená, že prvý parameter bude webová adresa stránky, ktorú stiahnem, zrejme cez príkaz wget. Potom v každom riadku zdrojového kódu tej stránky (čiže riadky oddelím napr. IFS=$'\n') nájdem link, a podľa toho, či link obsahuje .sk, alebo čokoľvek iné, vypíšem, či je to SK, alebo cudzia stránka.
Druhému príkladu nie celkom rozumiem (tvojmu kódu). Ten prvý a druhý parameter by sa mal zadávať z Terminalu pri volaní daného .sh súboru. Alebo to chápem zle, a tak si to aj myslel?
-
masterdead
SysAdmin
- Príspevky: 1809
- Registrovaný: 03 aug 2005, 23:32
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Bash skripty
no tak to prepis za
Kód: Vybrať všetko
prvy_parameter=$1
druhy_parameter=$2Re: Bash skripty
Takze mam vytvoreny priecinok s nazvom folder a v nom su 3 subory. 1. a 2. subor ma vnutri "ahoj", 3. "cau"
Bud tie parametre budes pisat do terminalu hned za ./script MYPATH SLOVO
Output:
alebo sa ta to opyta po spusteni scriptu
Output:
Bud tie parametre budes pisat do terminalu hned za ./script MYPATH SLOVO
Kód: Vybrať všetko
#!/bin/bash
clear
if [ -d "$1" ]; then
nachadza=$(grep $2 $1* | cut -d: -f1)
nenachadza=$(grep -v $2 $1* | cut -d: -f1)
printf "\nHladane slovo '$2' sa nachadza v:\n$nachadza\n"
else
printf "Zvolena cesta neexistuje, skus znova"
fi
printf "\nHladane slovo '$2' sa nenachadza v:\n$nenachadza\n\n"
Kód: Vybrať všetko
$: ./script2.sh /root/folder/ ahoj
Hladane slovo 'ahoj' sa nachadza v:
/root/folder/subor1
/root/folder/subor2
Hladane slovo 'ahoj' sa nenachadza v:
/root/folder/subor3Kód: Vybrať všetko
#!/bin/bash
start(){
clear
read -p "Zadaj cestu k suborom: " MYPATH
if [ -d "$MYPATH" ]; then
read -p "Zadaj hladane slovo: " slovo
nachadza=$(grep $slovo $MYPATH* | cut -d: -f1)
nenachadza=$(grep -v $slovo $MYPATH* | cut -d: -f1)
printf "\nHladane slovo '$slovo' sa nachadza v:\n$nachadza\n"
else
printf "Zvolena cesta neexistuje, skus znova"
sleep 2
start
fi
printf "\nHladane slovo '$slovo' sa nenachadza v:\n$nenachadza\n\n"
}
start
Kód: Vybrať všetko
$: ./script.sh
Zadaj cestu k suborom: /root/folder/
Zadaj hladane slovo: ahoj
Hladane slovo 'ahoj' sa nachadza v:
/root/folder/subor1
/root/folder/subor2
Hladane slovo 'ahoj' sa nenachadza v:
/root/folder/subor3