C1
나는 각각 4개의 서로 다른 파일( , C2
, C3
, ) 을 포함하는 많은 하위 디렉터리가 있는 큰 디렉터리를 가지고 있습니다 C4
.
내가 원하는 것은 동일한 하위 디렉터리를 수집하되 C1
그 안에 파일()이 하나만 있는 것입니다. 따라서 요점은 다른 파일( C2
, C3
, C4
)을 제거하고 동일한 디렉터리 계층을 유지하는 것입니다.
매우 큰 홈 디렉토리가 있으므로 이 작업을 수동으로 수행하는 것은 불가능하므로 이를 수행하기 위한 간단한 스크립트를 원합니다. 간단한 경우의 디렉토리 구조는 sampling/time'i'/C'j'입니다. 여기서 i =0.0001:10 및 j=1:4
내 클러스터에 이 케이스가 있습니다.
답변1
새 폴더 이름이 다음과 같다고 가정하고 상위 폴더를 백업합니다.parentbackup
cp parent parentbackup
그럼 해
find parentbackup -type f -not -name C1 -exec rm {} \;
또는 정규식을 사용하십시오
find parentbackup -type f -regex 'C[^1]' -exec rm {} \;
상위 디렉토리를 수정할 수 있는 경우 다음을 수행하십시오.
편집하다
find /path/to/parent -type f -regex 'C[^1]' -exec rm {} \;