내가 형식으로 파일의 수백을 포함하는 중첩 된 폴더 계층 구조를 가지고 짝수의 끝 폴더에서 파일을 삭제하려면 [AZ]. [0-9] .h5bash는 스크립트가 반복적으로
는 [AZ]는 어디에서 할 수 있습니다 임의의 길이의 영숫자, [0-9]는 임의의 자릿수가 될 수 있지만 항상 숫자이며 확장자는 h5로 고정됩니다.
- model1_weights.1.h5
- model354_weights.64.h5
등 나는에도 모든 파일을 삭제할
공간을 절약하기 위해
예를 들어, 이 남아 :
- model1_weights.1.h5
- model1_weights.37.h5
- model1_weights.185.h5
하지만 이러한
- model1_weights.0.h5 이동
- model1_weights.32.h5
- model1_weights.184.h5
나는 파이썬에서 이것을 수행하고, 모든 디렉토리를 탐색하고, 점으로 나누고, 확인하고, 삭제하는 방법을 알고있다. 그러나 이것이 rm -rf (또는 find)와 regex를 가진 하나의 bash 명령으로 가능해야한다고 생각합니다. 이것이 가능한가?
참고 : 앞으로 더 많은 공간을 절약하기 위해 3 개의 파일 중 2 개를 삭제하는 것이 좋습니다. 즉 일반적인 패턴은 (i % n == 1) i가 파일의 인덱스이고 n이 임의의 숫자 (예 : 2 또는 3) 인 경우에만 KEEP입니다.
질문 2 : 파일 트래버스 방식 및 파일 이름이 짝수로 끝나는 지 확인하는 것이 더 좋습니다. –
rm -rf (또는 find)가 traversing을 수행한다고 가정했는데, 올바른 필터를 전달해야 할 필요가 있습니까? – memo