grep에 관한 질문입니다. (쉘스크립트)

aeronova의 이미지

안녕하세요,
grep을 쓰다가 생각대로 안되어서 질문올립니다.

제가 tex을 쓰는데 원래 이넘이 갖가지 보조 파일을 생성합니다.
*.toc *.log, *.lof, 등등...

그래서 원본인 *.tex만 남기고 다 지우고 싶어서 담과 같이 했지요.

ls | grep -v *.tex

그랬더니 역시 *.tex만 남기고 지우고 싶은 넘들의 목록이 쭉 나오더군요.

source.aux
source.toc
source.lof
....

이제 이넘들을 지워야 되는데... 이게 생각보다 쉽지 않네요.
아래와 같이 해봤는데 안되네요.

ls | grep -v *.tex > rm

어떻게 하면 이 불필요한 넘들의 목록을 한줄의 스크립트로 지울수 있을까요?
고수님들의 조언 좀 부탁드리겠습니다. :)

angpoo의 이미지

rm `ls | grep -v \\\.tex$`

sodomau의 이미지

find 의 -exec 옵션 쓰시면 될꺼 같습니다.

withkhw의 이미지

이렇게 하면 될것 같은데요.

ls | grep -v *.tex | xargs rm -f