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

Raspunde prin e-mail lui