티스토리 뷰

OS

리눅스 특정파일명만 삭제

pwnbit 2016. 1. 12. 15:03
반응형
리눅스와 같은 Text UI환경에서는 특정 파일들만 골라서 삭제하기가 까다롭습니다.

rm 명령어와 |grep 의 조합으로 가능할까 싶었는데 find 명령어를 이용하여 가능했습니다.

find . -name "*pwnbit.kr*" -exec rm -f {} \;

find 명령어를 이용하여 특정 파일명을 검색합니다. 이때 파일명은 보시듯이 정규표현식 사용이 가능합니다.

그리고 -exec옵션을 이용하여 이를 이용하여 실행할 프로그램을 지정해줍니다.
여기서는 파일 삭제를 위해서 rm을 사용했고, {}는 find에 대한 결과 한 줄 마다 rm을 실행하겠다는 의미입니다.

하지만 exec에 대한 인자를 찾지 못 했다는 에러메시지가 발생했는데요.
exec에 대한 인자를 찾지 못했다고 나오는 경우에는 -exec rm {} \;에서 {}와 \사이에 공백을 한 칸 넣어주셔야 합니다.
이런 주의사항들 대신에 더 편한 방법으로는 -exec 옵션 대신 -delete 옵션을 사용하면 됩니다.

find . -name "*pwnbit.kr*" -delete

exec 옵션을 사용하는 것보다 더 깔끔해 보입니다.

옵션 하나만 알고있었어도, find --help를 쳐보기만 했어도 금방 해결할 간단한 문제였는데 아까운 시간만 버렸네요.




반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함
300x250