디렉토리에서 수백만 개의 파일을 삭제하는 명령

디렉토리에서 수백만 개의 파일을 삭제하는 명령

내 디렉터리에는 수백만 개의 작은 파일(빅 데이터 프로그램의 출력)이 포함되어 있습니다. 이 디렉터리를 삭제해야 하는데 기준을 입력하면 다음과 같은 결과가 rm *나타납니다.

zsh: sure you want to delete more than 100 files in data/output [yn]? y
zsh: argument list too long: rm

이러한 파일은 모두 아래와 같이 동일한 접두사 뒤에 고유 번호가 붙습니다.

data-12343
data-12344
... etc

따라서 정규식을 사용하여 이러한 파일을 단편적으로 삭제할 수도 없습니다. 이 작업을 효율적이고 자동으로 수행하는 방법에 대한 제안과 팁을 찾아보세요.

감사해요.

답변1

xargs명령 을 실행하기 위해 rm. rm원래 의도한 대로 수행될 때까지 최대 인수 수를 사용할 때마다 다시 실행됩니다 *.

매뉴얼 페이지의 말에 따르면:

명령줄은 시스템 정의 제한에 도달할 때까지 작성됩니다(-n 및 -L 옵션을 사용하지 않는 한). 지정된 명령은 입력 목록을 모두 사용하는 데 필요한 만큼 호출됩니다. 일반적으로 말하면 명령은 입력 항목보다 훨씬 적은 횟수로 호출됩니다. 이로 인해 성능이 크게 향상되는 경우가 많습니다. 일부 명령은 병렬로 효율적으로 실행될 수도 있습니다. -P 옵션을 참조하세요.

관련 정보