abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 1
včera 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 5
včera 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 0
včera 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
včera 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
včera 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
1.12. 15:16 | Komunita

Na GOG.com začal zimní výprodej. Řada zlevněných her běží oficiálně také na Linuxu. Hru Neverwinter Nights Diamond lze dva dny získat zdarma. Hra dle stránek GOG.com na Linuxu neběží. Pomocí návodu ji lze ale rozběhnout také na Linuxu [Gaming On Linux].

Ladislav Hagara | Komentářů: 1
1.12. 13:14 | Bezpečnostní upozornění

Byla vydána verze 2.7.1 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Řešeno je několik bezpečnostních problémů. Aktualizován byl především Tor Browser na verzi 6.0.7. Tor Browser je postaven na Firefoxu ESR (Extended Support Release) a právě ve Firefoxu byla nalezena a opravena vážná bezpečnostní chyba MFSA 2016-92 (CVE-2016-9079, Firefox SVG Animation

… více »
Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 759 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Jednoduchy hledac, ktery ale efunguje

14.7.2008 11:42 drtic_cz | skóre: 5 | blog: drtic
Jednoduchy hledac, ktery ale efunguje
Přečteno: 651×
Zdravim, mam opet sriptovaci dodaz - delam tadu tuhle zver, abych mohl zjistit, ktere podadresare adresare "stroom" neobsahuji soubory s priponout mp3 . Tenhle me napadl, jakor prvni, lec na vystupu vypisuje prave uplne vsechny podadresarene, dokonce i kdyz dam echo $mp3 misto echo$i nakonec....

for i in "`ls //f/strom`"; do mp3=`ls //f/strom/"$i" |grep -c mp3` if [ "$mp3" == "0" ] then echo "$i" fi; done

Tusi nekdo, kde se deje chyba? (Mozna je to zbytecne slozity, ale stejne me zajima, kde jsem udelal chybu... Diky! Spoustim to pod win-bashem, proto ty divne cesty, nicmene stejne se to chova i na linuxu s linuxovymi cestami...
Arch Linux!

Odpovědi

Viliam Púčik avatar 14.7.2008 12:20 Viliam Púčik | skóre: 22 | blog: minimal
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
Mozno zafunguje toto:
for i in $(ls //f/strom); do mp3=$(ls //f/strom/"${i}" |grep -c mp3); if [ "$mp3" == "0" ]; then echo "$i"; fi; done
14.7.2008 14:06 drtic_cz | skóre: 5 | blog: drtic
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
To same, jako puvodni. Problem je v tom, ze puvodne i muj script se choval stejne, jako tenhle - nedokaze ale vylistovat napr. adresar, ktery ma v nazvu mezeru. Proto jsem dal puvodni promennou do uvozovek a to zrejme zpusobilo, ze ji nejakym zpusobem spatne interpretuje. Jenze nemuzu prijit na to, kde je chyba :(
Arch Linux!
Viliam Púčik avatar 14.7.2008 15:56 Viliam Púčik | skóre: 22 | blog: minimal
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
Chyba v povodnom skripte je hned na zaciatku, do premennej i sa nevkladaju cele nazvy adresarov, len ich casti oddelene medzerami :-(, toto by to hadam pomohlo:
ls -1 //f/strom | while read adresar; do mp3=$(ls //f/strom/"${adresar}" | grep -c mp3); if [ "$mp3" == "0" ]; then echo ${adresar}; fi done
14.7.2008 12:30 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
Já bych podadresáře hledal takto:
for i in `find /f/strom/ \! -name '*.mp3'`; do
	echo ${i%/*}
done
14.7.2008 13:36 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
toto je blbost, prosím ignorovat
14.7.2008 14:02 drtic_cz | skóre: 5 | blog: drtic
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
no, to mi nefunguje vubec, a navic se mi to zrovnatak nezda...
Arch Linux!
14.7.2008 15:30 chochi | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
Problem v tvym vyrazu je, ze kdykoliv neco prevedes na standartni vystup, tak se strati informace o "mezerach v textu" a jsou z toho oddelovace. Proto bych zkusil misto ls normalni hvezdickovou konvenci (oprava tvyho vyrazu):
for i in //f/strom/*; do mp3=`ls "$i" |grep -c mp3`; if [ "$mp3" == "0" ]; then echo "$i"; fi; done
Nebo dalsi varianta (takhle bych to napsal asi ja):
for i in //f/strom/*; do (cd "$i"; ls *.mp3 1>/dev/null 2>&1 || echo "$i"); done
14.7.2008 15:57 drtic_cz | skóre: 5 | blog: drtic
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
Jo, to s hvezdickou me napadlo taky, ale zkus si dat echo $i - porad to dokola to prirazuje za i "//f/strom/*" :)
Arch Linux!
14.7.2008 16:25 chochi | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
To
//f/strom/*
nesmi byt v uvozovkach. Dalsi moznost je ze adresar //f/strom/ je prazdny (pak to nahradi puvodnim vyrazem - //f/strom/*). Jinak kdyz to zkusim:
chocholj@cz995891 ~ $ ls -R ~/tmp/b1 -w 1
/home/chocholj/tmp/b1:
a b
c d
e f g

/home/chocholj/tmp/b1/a b:
q w.mp3

/home/chocholj/tmp/b1/c d:

/home/chocholj/tmp/b1/e f g:
chocholj@cz995891 ~ $  for i in ~/tmp/b1/*; do mp3=`ls "$i" |grep -c mp3`; if [ "$mp3" == "0" ]; then echo "$i"; fi; done
/home/chocholj/tmp/b1/c d
/home/chocholj/tmp/b1/e f g
Tak se to chava snad podle ocekavani.
15.7.2008 16:28 drtic_cz | skóre: 5 | blog: drtic
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
V uvozovkach nebyl, jen jsem mu spatne interpretoval cestu...z nejakyho duvodu bash pod win nerozeznava nektere absolutni cesty, kdyz ma pracovni adresar na jinem disku... Kazdopadne moc diky - VYRESENO :)
Arch Linux!
14.7.2008 15:30 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
Tento skriptík
#!/usr/bin/python
import os
for root, dirs, files in os.walk('.'):
    for filename in files:
        if filename.lower().endswith('.mp3'):
            break
    else:
        print root
  1. správně zachází s cestami, i když obsahují mezery, diakritiku, čárky, dolary atd.
  2. běží rychleji než find + xargs + zpracování v shellu
  3. poběží beze změny kódu na linuxu stejně jako na windows
  4. názvy adresářů netestuje, tj. nenechá se zblbnout, jestliže _adresář_ obsahuje koncovku mp3
  5. pracuje rekurzivně (což možná nechceš)
14.7.2008 21:16 Deleted [8409] | skóre: 14 | blog: darkblog
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
Souhlas, pokud nebude chtit, aby to jelo rekurzivne, tak staci misto walk pouzit listdir. Takze no problem ;-)
22.7.2008 15:20 drtic_cz | skóre: 5 | blog: drtic
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
Python je urcite super, bohuzel ho neovladam :( Mozna casem .-)
Arch Linux!
14.7.2008 15:36 Semo | skóre: 44 | blog: Semo
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
Vypisem si kazdy adresar a adresar kazdeho mp3 suboru. Adresar, ktory sa v zjednoteni tych dvoch vypisov objavi prave raz neobsahuje ziadnu mp3-ku.

Ak je problem, ze to pracuje rekurzivne, tak obom findom treba pridat switch -maxdepth 1
( find -type d ; find | sed -n '/\.mp3$/s;/[^/]*$;;p' ) | sort | uniq -c | grep '^[[:space:]]*1 '
If you hold a Unix shell up to your ear, you can you hear the C.
22.7.2008 15:44 drtic_cz | skóre: 5 | blog: drtic
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
Tak vypis se udelat podarilo, mam soubor se seznamem adresaru. Ted jsem se k tomu vratil a potrebuju v nich dopocitat mp3.. Problemem zrejme bude verze Bashe, kterou jsem nesehnal pod windows vyssi, nez 2.03. Takze: cd //f for i in `cat missing.txt`; do for m in ls `ls $i`; do echo $m; done; done Muzu takhle zaloopovat dve for do sebe? Pac mi to vypisuje ": No such file or directory"... Kdyz misto `ls $i` dam $i/*, nahradi to prvni dva znaky v ceste "/*" ...je to nejaka vlastnost starsiho bashe, musi se na nej jinak?
Arch Linux!
22.7.2008 18:45 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
Zkuste
cd /f
<missing.txt while read dirname; do
  echo "dirname: $dirname"
  for filename in `ls $dirname`; do
    echo "filename: $filename";
  done;
done
a pro blok textu používejte značku pre i když ten code láká víc.
23.7.2008 18:06 drtic_cz | skóre: 5 | blog: drtic
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
syntax error :/ asi se naucim scriptovat v perlu...
Arch Linux!
Tarmaq avatar 23.7.2008 18:21 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
v perlu ci v bashi?
Don't panic!
24.7.2008 16:43 drtic_cz | skóre: 5 | blog: drtic
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
Vyreseno. Pripojil jsem windowsi partitionu k linuxovemu stroji a scriptiky bezi bez problemu tam. Problem byl proste ve windowsi implementaci bashe, kde se proste nektere prikazy nevykonavaly, jak mely.... :/
Arch Linux!
Tarmaq avatar 24.7.2008 17:08 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
btw co myslis tim win-bash ? nejakej cygwin ci co?
Don't panic!
24.7.2008 20:55 Semo | skóre: 44 | blog: Semo
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
Nie. Bash z MSYSu, problem je, ze je vo verzii 2.x a nie 3.x ako je uz roky na Linuxe. Takze nefunguje napr porovnanie =~ v [[ ]] a niektore dalsie ficury z 3.x.
If you hold a Unix shell up to your ear, you can you hear the C.
2.8.2008 19:16 drtic_cz | skóre: 5 | blog: drtic
Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
Presne tak... http://www.steve.org.uk/Software/bash/
Arch Linux!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.