하나의 명령으로 파일과 상위 디렉터리를 만드는 방법은 무엇입니까? [복사]

하나의 명령으로 파일과 상위 디렉터리를 만드는 방법은 무엇입니까? [복사]

touch파일과 존재하지 않는 상위 디렉토리를 모두 생성할 수 있는 , , mkdir또는 다른 명령에 대한 플래그/옵션이 있습니까?>

예를 들어 내가 빈 폴더에 있다고 가정해 보겠습니다. 이제 폴더를 만들 때 상위 디렉터리가 없으면 상위 디렉터리를 만들 수 있습니다.

mkdir -p nested/folder

기존 디렉터리에 파일을 만들 수 있습니다.

touch nested/folder/something.txt

하지만 아직 존재하지 않는 디렉터리에 파일을 만들 수는 없습니다.

touch nested/folder/deep/more.txt

touch: 'nested/folder/deep/more.txt'를 터치할 수 없습니다. 해당 파일이나 디렉터리가 없습니다.

deep해당 폴더를 동시에 만들려면 어떻게 해야 합니까 more.txt?

답변1

이 두 명령을 한 줄에 결합할 수 있습니다. 변수를 사용하는 경우 다음을 수행할 수 있습니다.

file="./nested/folder/deep/more.txt"

그런 다음 이:

mkdir -p "${file%/*}" && touch "$file"

또는 다음과 같이 한 줄에 모두 입력합니다.

mkdir -p "./nested/folder/deep" && touch "./nested/folder/deep/more.txt"

이것은 단일 명령은 아니지만 작업을 수행할 수 있습니다.

관련 정보