존재하지 않는 하위 디렉터리(../new_folder/new_folder/new_file.ext)에 파일 생성

존재하지 않는 하위 디렉터리(../new_folder/new_folder/new_file.ext)에 파일 생성

이제 나는 이것을 사용합니다 :

mkdir -p a/b/c/d/e; 
touch a/b/c/d/e/file.abc; 

더 효율적인 방법이 있나요?

답변1

install -D src_file /tmp/a/b/c/d/e/f/g/h/i/dst_file
install -Dt /tmp/a/b/c/d/e/f/g/h/i your_file

빈 파일만 터치하려는 경우:

install -D /dev/null /tmp/a/b/c/d/e/f/g/h/i/empty_file

저것 좀 봐(이거설치(1)맨페이지에는 권한 설정, 타임스탬프 유지 등의 옵션이 있습니다.

답변2

사용된 도구 측면에서: 없음. touch존재하지 않는 디렉터리에서 작업을 시도하는 경우 mkdir다음 한 가지만 수행하면 (올바르게) 실패합니다.목차, 특이한문서. 두 가지 다른 작업에는 두 가지 도구가 필요합니다.

즉, 스크립트의 줄 수나 스크립트의 가독성 측면에서 효율성에 대해 이야기하는 경우 이를 함수에 넣을 수 있습니다.

seedfile() {
    mkdir -p -- "$(dirname -- "$1")" &&
        touch -- "$1"
}

seedfile /path/to/location/one/file.txt
seedfile /path/to/somewhere/else/file.txt
seedfile local/paths/work/too/file.txt

답변3

이 시도:

mkdir -p a/b/c/d/e && touch "$_"/file.abc

항상 나에게 효과적입니다.

관련 정보