On 05/31/2010 11:40 AM, Petru Ratiu wrote: > 2010/5/31 Adrian Sevcenco <[email protected]>: >> Salut! incerc in bash sa listez fisierele ce nu se termina cu o anume >> extensie .. de exemplu: >> am un director cu fisiere de tipul a.b (a e denumire statica, b e data >> logului)... o parte din ele sunt deja comprimate si au forma a.b.bz2 >> cum pot lista in bash astfel incit sa imi returneze ce nu se termina cu bz2? >> am incercat : >> ls -1 a.*[^.bz2] >> >> Partea stranie e ca pe 75% din fisiere a mers (ca le am comprimate ..) >> pina in momentul in care : >> alip...@storage01: server $ ls -1 cmslog.*[^.bz2] >> ls: cmslog.*[^.bz2]: No such file or directory > > Globbingul din bash nu e regexp, .*[^.bz2] e interpretat ca altceva > (si nici in regexp nu prea inseamna ce ai vrea tu sa insemne. > > E posibil sa mearga si din globbing (desi nu-mi vine nimic in minte, > dar mai sanatos IMHO e sa faci cu ceva comanda externa: > > ls | grep -v '\.bz2$' > > sau: > > find . -maxdepth 1 -mindepth 0 -not -name '*.bz2' -printf '%P\n' > > (ma rog, solutia cu find e ceva mai puternica pentru ca poti ca in loc > de -prinf sa trantesti un -exec cu ce vrei tu de fapt sa faci cu alea) > > HTH, It helps for sure :) Multumesc de raspunsuri! La ambele nu ma gindisem (sa trec prin grep) sau de -not (asta nu stiam :D)
Adrian
_______________________________________________ RLUG mailing list [email protected] http://lists.lug.ro/mailman/listinfo/rlug
