!["2"로 끝나는 파일을 모두 삭제하려면 어떻게 해야 하나요? [폐쇄]](https://linux55.com/image/176506/%222%22%EB%A1%9C%20%EB%81%9D%EB%82%98%EB%8A%94%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%AA%A8%EB%91%90%20%EC%82%AD%EC%A0%9C%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%98%EB%82%98%EC%9A%94%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
실수로 백업 파일을 두 번 복사했기 때문에 이제 두 개의 동일한 파일이 생겼습니다. 유일한 차이점은 두 파일 중 하나가 공백 뒤에 "2"가 붙는다는 것입니다.
예:
urh 2.sh
urh.sh
또는
vim tut
vim tut 2
단일 명령으로 bash를 통해 이러한 모든 중복 항목을 재귀적으로 제거하려면 어떻게 해야 합니까?
답변1
이렇게 찾아서 삭제할 수 있습니다.
먼저 삭제할 파일 목록이 올바른지 확인하세요.
find /path/to/the/folder -name "* 2" -print0| xargs -0 -n1 ls
그런 다음 삭제
find /path/to/the/folder -name "* 2" -print0| xargs -0 rm -f
혹시라도 문제가 생길 경우를 대비해 삭제하기 전에 반드시 백업을 해두세요...
건배,
SK
답변2
이것bash-shell 글로벌 확장( man 7 glob
) 이면 충분합니다.
rm ./*" 2"*
이렇게 하면 이름에 하위 문자열 "2"가 하나 이상 포함된 현재 디렉터리의 모든 파일이 삭제됩니다.