티스토리 뷰

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
226,157
Today
6
Yesterday
30
링크
«   2021/09   »
      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    
글 보관함