![마지막 10개 파일을 제외한 모든 파일을 삭제하는 방법](https://linux55.com/image/4837/%EB%A7%88%EC%A7%80%EB%A7%89%2010%EA%B0%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%A0%9C%EC%99%B8%ED%95%9C%20%EB%AA%A8%EB%93%A0%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%82%AD%EC%A0%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
자동화된 처리 결과 순차적으로 이름이 붙은 파일이 쌓이고 마지막 10개 파일만 보관하고 싶습니다. 나는 이것을 시도했고 모든 것을 제거하는 효과가 있었습니다.
ls -r | more +11 | xargs rm
분명히 파이핑은 more +n
매개변수에 상관없이 전체 결과를 파이핑하게 만듭니다 +n
.
올바른 접근 방식은 무엇입니까?
답변1
인정합니다. more
문서의 어떤 내용도 이것이 일어날 것이라는 점을 명확하게 보여주지 않습니다. 그러나 지정된 줄 번호(구체적으로 11)에서 입력(파일 목록) 표시(출력/처리)를 시작하려고 하므로 사용할 논리 명령은 다음과 같습니다 tail
.
ls -r | tail -n +11 | …
현명한 조언: 위험한 일을 하기 전에 파이프를 사용 cat
하거나 (명령 없이) xargs
이와 같은 것을 테스트하십시오 xargs rm
.