가끔 내 스크립트가 무한 루프에 빠지는 경우가 있습니다. 새 파일을 생성하기 위해 반복할 때 상황이 지저분해질 수 있습니다.
현재 다음과 같은 파일 이름 형식을 사용하고 있습니다.
Task.4883.store.log
4883
카운터는 어디에 있나요?
처음 10개 파일(예: 0-9(포함)의 카운터)을 제외한 모든 파일을 삭제해야 합니다. 현재 스크립트에 반응하고 중지하기 전에 약 10,000개의 파일이 생성됩니다. SSD는 정말 빠릅니다.
rm
너무 많은 주장을 받아들이지 않으면 상황이 조금 더 어려워집니다.-bash: /bin/rm: Argument list too long
아, 저는 지금 맥을 사용하고 있어요.
답변1
POSIX는 이름에 개행 문자가 포함된 파일을 처리할 수 있습니다.
find . -name 'Task.??*.store.log' -exec rm -f {} +
답변2
find . -name 'Task.??*.store.log' | xargs rm -f
답변3
그리고 zsh
:
rm Task.<10->.store.log
피하기 위해매개변수 목록이 너무 깁니다.:
autoload zargs # best in ~/.zshrc
zargs Task.<10->.store.log -- rm