본문 바로가기

개발

[Window] 특정 이름을 가진 파일 삭제하기

개발을 시작하기 전, 데이터들 정리를 해야하기에 찾아보다가 정리.

정면 데이터만을 사용하기로 했기에 파일 병합 후, 확인해 정면 데이터만을 남겨야하는데 모든 데이터를 다운로드 한 후 정리하기에는 메모리 부족으로,, 파일 하나 병합 -> 압축 해제 후 정면 데이터만을 남겨야 한다.

 

다행히 파일 이름이 잘 정리되어있기에, 끝 문자가 F로 끝나는 것만을 남기고, D/U/R/L 만 제거하면 됨.

 

[Linux]

del /Q /S *D.*

- /Q 옵션은 삭제할 때 사용자에게 확인을 요구하지 않고 조용히 삭제하도록 지시

(없을 경우, 파일 하나하나마다 삭제 여부를 Y/N으로 물어본다.)

- /S 옵션은 현재 디렉토리 및 모든 하위 디렉토리에서 파일을 검색하여 삭제하도록 지시

- *D.*  파일 이름이 "D"로 끝나는 모든 파일을 찾아내는데 사용

 

추가적으로 한번에 처리를 위해, F로 끝나는 파일을 제외한 나머지 파일을 삭제하는 것도 찾아보았다.

find . -type f -not -name '*_F.*' -delete

F로 끝나는 파일을 제외한 나머지 파일들의 목록을 출력한 뒤, 그 파일들을 삭제하는 형태이다.

 

파워쉘의 경우, 같은 로직이되, 사용방법이 조금 다르다.

 

[Powershell]

Get-ChildItem -File | Where-Object { $_.Name -notlike '*F_morpheme.*' } | Remove-Item -Force

위 코드의 경우, F_morpheme으로 끝나는 파일만을 남기는 코드로, 디렉터리 내 모든 파일을 가져온 후, 필터링한 후, 이를 삭제한다.

테스트 폴더를 만들어 실행해본 결과, F_morpheme로 끝나는 파일만 남기고 잘 삭제된 것을 확인!