Dir1
여러 하위 디렉터리와 파일이 있는 디렉터리 가 있습니다 . 거기에 있는 모든 파일이 빈 파일이지만 파일 이름은 Dir1과 동일 Dir1
하도록 복사하겠습니다 .Dir2
그런 다음 Dir2를 github에 푸시하고 사용자에게 샘플 데이터 구조와 파일 이름을 설명할 계획입니다.
대상 파일이 비어 있지만 파일 이름이 동일한 방식으로만 파일을 복사하는 명령이 있습니까?
답변1
GNU coreutils(예: 내장되지 않은 Linux 또는 Cygwin에서)를 사용하면 다음과 같이 간단합니다.
cp -a --attributes-only Dir1 Dir2
답변2
또는 더 복잡하지만 단일 파일 시스템 패스를 사용합니다(이식성을 높이려면 다음 ~
과 같이 작성해야 합니다 $HOME
).
find . \( -type d -exec mkdir -p "~/elsewhere/{}" \; \
-o -type f -exec touch "~/elsewhere/{}" \; \)
여기서 복잡성은 부울 논리(학습에 어느 정도 이점이 있을 수 있음)와 우선 순위(잘 이해됨), 그리고 find
후속 작업 간의 암시적 AND 및 OR의 존재를 통해 -type
이러한 개념이 어떻게 구현되는지 에 있습니다 -o
.
답변3
cd /path/to/oldroot
find . -type d -exec mkdir -p \"/path/to/newroot/{}\"\;
find . -type f -exec touch \"/path/to/newroot/{}\"\;