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, -- Petre. _______________________________________________ RLUG mailing list [email protected] http://lists.lug.ro/mailman/listinfo/rlug
