현재 디렉터리의 모든 하위 폴더에서 일치하는 파일을 제거합니다.

현재 디렉터리의 모든 하위 폴더에서 일치하는 파일을 제거합니다.

나는 이것을 각 디렉토리의 파일을 복사하는 데 사용합니다.

find -type d -maxdepth 1 -print0 | xargs -0 -n1 cp .htaccess

이제 역방향 작업을 수행하고 현재 있는 모든 하위 디렉터리에서 이름이 일치하는 파일을 삭제해야 합니다.

답변1

.htaccess귀하의 설명을 올바르게 이해했다면 현재 디렉터리의 하위 디렉터리에서는 삭제 하고 싶지만 해당 하위 디렉터리에서는 삭제하지 않으려는 것입니다. 즉, 삭제하고 싶지만 foo/.htaccess삭제하고 싶지 않은 경우입니다 foo/bar/.htaccess. 그렇다면 매우 간단합니다.

rm */.htaccess

find초기 명령 없이 임무를 완료할 수 있습니다. find디렉토리를 재귀적으로 탐색하려는 경우(예: 하위 디렉토리 및 하위 하위 디렉토리 등에 적용)에 가장 유용합니다.

for d in */; do cp -p .htaccess "$d"; done

답변2

find /path/to/dir -name .htaccess -delete

답변3

다음은 find -type d -maxdepth 1 -print0 | xargs -0 -n1 cp .htaccess이전에 동일한 디렉터리에서 이를 실행했다고 가정합니다.

find . -maxdepth 2 -type f -name .htaccess -exec rm -v {} \;

-v(상세) 옵션은 선택 사항이지만 실제 삭제된 파일을 확인하는 데 도움이 됩니다.

관련 정보