동시에 디렉토리 내에 파일을 생성하려면 어떻게 해야 합니까?

동시에 디렉토리 내에 파일을 생성하려면 어떻게 해야 합니까?

예를 들어 동시에 여러 디렉토리를 만드는 방법을 알고 있습니다.

mkdir -p tree/{dir1,dir2,dir3}

그런데 어떻게 디렉토리를 만들고 동시에 그 안에 파일을 넣을 수 있나요? 궁극적으로 나는 이 일을 동시에 여러 번 하고 싶다.  

답변1

이를 수행하는 단일 명령은 없지만 직접 만들 수 있습니다.

    mkpath(){ mkdir -p ${1%/*} && mkfile 0 $1; }

생성할 파일의 경로를 지정하는 단일 인수로 호출할 수 있습니다. 도중에 생성되어야 하는 모든 디렉터리가 생성되며, 이때 지정된 파일 이름을 가진 빈 파일이 생성됩니다. 예:

    mkpath dir1/dir2/dir3/file.txt

메모: 이는 다양한 입력 및 상황에 맞게 철저히 테스트되지 않은 예제 기능입니다. 견고성을 보장하려면 적절한 오류 트래핑이 필요할 수 있습니다.

mkdir구성 요소 기능 및 의 특징을 상속하므로 두 가지 중요한 특성이 현재 상태로 mkfile그대로 유지됩니다 .mkpath

  • 기존 디렉터리를 포함하는 경로를 지정하는 것이 안전해 보이며 이러한 디렉터리와 해당 내용은~ 아니다덮어쓰다;
  • 반대로 지정된 위치에 파일이 존재하면~ 할 것이다빈 파일로 덮어쓰면 이전 파일 내용을 복구할 수 없습니다.

관련 정보