Forum » Programiranje » Bash
Bash
tx-z ::
Za narest mamo program v bashu, k se obnaša kt tree. Torej pač da sam napišš program tree. Navodilo pa je da ne smeš uporabat nobenih zunanjih ukazev(kot npr. ls,dir,tree,find,...). S kerim pa pol lah sploh zvem keri direktoriji obstajajo?
tx-z
user4683 ::
Niti ne ;)
Od tu naprej pa ogromno domišljije in kreativnosti ;) Moja rešitev že naredi enak izpis kot tree, upam, da je tudi odporna na vse trike, ki jih imajo pripravljene :)
for f in * do done
Od tu naprej pa ogromno domišljije in kreativnosti ;) Moja rešitev že naredi enak izpis kot tree, upam, da je tudi odporna na vse trike, ki jih imajo pripravljene :)
tx-z ::
Hvala tole je pomagal že kr dost zdej :D
Mi pa ni jasn zakaj tole:
spr=0
echo ${spr}
spr=${spr+3}
echo ${spr}
spr=${spr+3}
echo ${spr}
Izpiše
0
3
3
...Zakaj ne izpiše zadnje 6? Oz. kako narest da jo izpiše 6..
Mi pa ni jasn zakaj tole:
spr=0
echo ${spr}
spr=${spr+3}
echo ${spr}
spr=${spr+3}
echo ${spr}
Izpiše
0
3
3
...Zakaj ne izpiše zadnje 6? Oz. kako narest da jo izpiše 6..
tx-z
tx-z ::
Ahh, found it! :P
spr=0
echo ${spr}
(( spr=spr+3 ))
echo ${spr}
(( spr=spr+3 ))
echo ${spr}
spr=0
echo ${spr}
(( spr=spr+3 ))
echo ${spr}
(( spr=spr+3 ))
echo ${spr}
tx-z
BigWhale ::
Od tu naprej pa ogromno domišljije in kreativnosti ;) Moja rešitev že naredi enak izpis kot tree, upam, da je tudi odporna na vse trike, ki jih imajo pripravljene :)
En trik je lahko presledek v imenu datoteke. :)
BigWhale ::
Ne cisto. Tole:
Bo delalo narobe, ce imas kako datoteko s presledkom v imenu.
for bla in * do cp $bla target_dir done
Bo delalo narobe, ce imas kako datoteko s presledkom v imenu.
Brane2 ::
Daš ${bla} v dvojne narekovaje in ma da dela
On the journey of life, I chose the psycho path.
user4683 ::
Ne cisto. Tole:
for bla in * do cp $bla target_dir done
Bo delalo narobe, ce imas kako datoteko s presledkom v imenu.
Ja, to pa pac ni vec problem kode, ki sem jo napisal zgoraj
c0dehunter ::
Jaz imam pa sledečo dilemo: rad bi izpisal neko datoteko IN HKRATI preštel št. vrstic ter to na koncu izpisa izpisal.
Trenutno imam takole:
tee >(wc -l) mi datoteko razveji na dva streama, en gre na terminal, drug v "wc -l".
Rad pa bi da "wc -l" shrani št. vrstic v neko spremenljivko, da jo bom lahko potem takoj v naslednjem ukazu izpisal (sedaj imam tam $?, ampak ni prav).
Trenutno imam takole:
cat bla.txt | tee >(wc -l) && echo "Datoteka vsebuje $? vrstic."
tee >(wc -l) mi datoteko razveji na dva streama, en gre na terminal, drug v "wc -l".
Rad pa bi da "wc -l" shrani št. vrstic v neko spremenljivko, da jo bom lahko potem takoj v naslednjem ukazu izpisal (sedaj imam tam $?, ampak ni prav).
I do not agree with what you have to say,
but I'll defend to the death your right to say it.
but I'll defend to the death your right to say it.
BigWhale ::
awk '{ print $0 }END {print "Stevilo vrstic: " NR }' bla.txt
Zgodovina sprememb…
- spremenil: BigWhale ()
c0dehunter ::
Hehe.. no ravno to je problem, ukaza awk tukaj naj ne bi uporabil. V mojem prejšnjem postu, tam kjer je "cat bla.txt" pride v bistvu precej daljši ukaz, ki je bistvo te naloge.
Zanima me torej kako "tee >(wc -l)" shraniti v spremenljivko, da jo lahko potem v echo izpišem..
Zanima me torej kako "tee >(wc -l)" shraniti v spremenljivko, da jo lahko potem v echo izpišem..
I do not agree with what you have to say,
but I'll defend to the death your right to say it.
but I'll defend to the death your right to say it.
BigWhale ::
Hja, mas dve moznosti, obe grdi. :>
Prva, malo popravljena tvoja verzija.
Druga, z uporabo zacasnjega pipe-a.
Pri slednjem primeru moras pazit, da vsakic obvezno pobrises tmp pipe. Ker drugace v njem ostane tisto kar so prej not spravil in ni slo ven. :)
Edit, sem dodal se shranjevanje v spremenljivko. :)
Prva, malo popravljena tvoja verzija.
cat lala.txt | tee >(foo=`wc -l`; echo -e "\nStevilo vrstic ${foo}\n")
Druga, z uporabo zacasnjega pipe-a.
mkfifo tmp cat lala.txt | tee tmp & foo=`<tmp wc -l` echo "Stevilo vrstic: ${foo}" rm tmp
Pri slednjem primeru moras pazit, da vsakic obvezno pobrises tmp pipe. Ker drugace v njem ostane tisto kar so prej not spravil in ni slo ven. :)
Edit, sem dodal se shranjevanje v spremenljivko. :)
Zgodovina sprememb…
- spremenil: BigWhale ()
c0dehunter ::
Velik kit, hvala ;)
I do not agree with what you have to say,
but I'll defend to the death your right to say it.
but I'll defend to the death your right to say it.
bigbada ::
Rabim napisat regularni izraz za ujemanje imena Libijskega predsednika Moamerja Gadafija, ki vklučuje naslednje izpeljanke imena:
- Muammar al-Kaddafi (BBC)
- Moammar Gadhafi (Assiciated Press)
- Muammar al-Qadhafi (Al-Jazeera)
Sploh nevem kaj hočejo od mene tu? Any help? Zna kdo to ?
- Muammar al-Kaddafi (BBC)
- Moammar Gadhafi (Assiciated Press)
- Muammar al-Qadhafi (Al-Jazeera)
Sploh nevem kaj hočejo od mene tu? Any help? Zna kdo to ?
keworkian ::
Rabim napisat regularni izraz za ujemanje imena Libijskega predsednika Moamerja Gadafija, ki vklučuje naslednje izpeljanke imena:
- Muammar al-Kaddafi (BBC)
- Moammar Gadhafi (Assiciated Press)
- Muammar al-Qadhafi (Al-Jazeera)
Sploh nevem kaj hočejo od mene tu? Any help? Zna kdo to ?
(m(?:u|o)ammar\s?(?:al-)?(?:k|g|q)?\w+)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Bash skriptaOddelek: Programiranje | 3243 (2555) | poweroff |
» | c# - preverjanje podatkovOddelek: Programiranje | 657 (544) | gendale |
» | php string v intOddelek: Programiranje | 1289 (1113) | lukanium |
» | Noob se loti programiranje v BASHOddelek: Programiranje | 2265 (1665) | c3p0 |
» | [UNIX] arg list too longOddelek: Programiranje | 1939 (1194) | bijonda |