Jef*_*ett 46 command-line directory directory-structure touch mkdir
是否有一个标志/选项touch,mkdir,>,或其他一些命令,让我产生在同一时间一个文件和任何不存在的父目录?
例如,假设我在一个空文件夹中。现在,如果创建文件夹时父目录不存在,我可以创建它们
mkdir -p nested/folder
Run Code Online (Sandbox Code Playgroud)
我可以在现有目录中创建文件
touch nested/folder/something.txt
Run Code Online (Sandbox Code Playgroud)
但是我无法在尚不存在的目录中创建文件
touch nested/folder/deep/more.txt
Run Code Online (Sandbox Code Playgroud)
触摸:无法触摸“嵌套/文件夹/深度/更多.txt”:没有这样的文件或目录
我如何在创建该deep文件夹的同时创建该文件夹more.txt?
小智 36
您可以将这两个命令组合在一行中。如果你使用一个变量,你可以这样做:
file="./nested/folder/deep/more.txt"
Run Code Online (Sandbox Code Playgroud)
然后这个:
mkdir -p "${file%/*}" && touch "$file"
Run Code Online (Sandbox Code Playgroud)
或者像这样一起在一行上:
mkdir -p "./nested/folder/deep" && touch "./nested/folder/deep/more.txt"
Run Code Online (Sandbox Code Playgroud)
这不是一个单一的命令,但它可能会为您完成这项工作。