miert jo az neked, hogy find + grepet inditgatsz, amikor a bash alapbol tudja ?
Mutass egy példát BASH-ben légy szíves, ami listaként visszaadja a nem ".db"-re végződő fájlokat. Értem én, hogy a teszt operátort [[ =~ ]] használod, de ez máshogy működik.
Például az echo * parancsot beírva a BASH a * helyére behelyettesíti neked az aktuális könyvtárban levő fájlok/folderek listáját. Az általad említett regexes matchelés csak úgy alkalmas erre, ha egy lista elemein végig iterálsz, és az összes elemre egy if [[ =~ ]]-et hívsz meg. Ez valóban megoldható egy sorban is, de szerintem sokkal olvashatatlanabb, mint egy find, vagy egy ls+grep kombó. Ha valami nem olvasható könnyen, akkor - ahogy azt egeresz kolléga is írta - problémákat okozhat az utólagos módosítás.
Egy problémát, vagy megoldandó feladatot több szempontot figyelembe véve kell mérlegelni:
* Mennyi idő van rá?
* Mennyire kell az tartós megoldás legyen? (Ha csak egy quick and dirty fix, akkor például nem cél, hogy a kód optimális legyen, és talán még az olvashatóság sem annyira fontos)
* Utólagos fejlesztés lesz-e?
(egyéb szempontot most nem látok lényegesnek, de javítsatok ki)
Figyelembe véve a fenti három szempontot olyan megoldást adtam, ami tipikus quick and dirty fix, mivel:
1. Rövid
2. Egy átlagos, shell programozást némileg ismerő informatikusnak könnyedén érthető, vagyis: olvasható
3. Ugyan nem a leghatékonyabb, de a megoldásom nem képezi részét egy nagyobb rendszernek, tehát megengedhettem magamnak ezt a luxust.
4. Nem kellett sokat agyalni rajta -> hamar elkészültem vele.
Igaz, ami igaz, a find-os megoldás még az enyémnél is olvashatóbb egy, a reguláris kifejezéseket nem ismerő informatikusnak. Az olvashatóság nagyon-nagyon fontos, ideje lenne leszokni a ki tud értelmezhetetlenebb kódot írni versengésről. Ilyen kódot szinte bárki tud írni hasra ütéssel, de az olyan is lesz.
ha vki ilyen nem szabvany cuccot lat, az nezze meg a mant
Véleményem szerint ez meglehetősen önző, szűklátókörű és legfőképpen nem emberközpontú hozzáállás, ami sok informatikusra jellemző. Miért ne lehetne olyan elegáns megoldást adni, amihez NEM FELTÉTLENÜL KELL man-t olvasni?
a findnak, grepnek is van egy csomo valtozata, az mennyivel jobb, hogy arra epitesz ?
Ahogy a BASH-nek is, amiben szintén változhat a reguláris kifejezések szintaktikája.