创建新文件时创建父目录

Man*_*nde 6 command-line shell mkdir

我知道mkdir -p /path/to/new/directory将创建一个新目录以及父目录(如果需要)的事实。

如果我必须创建一个新文件及其父目录(其中部分或所有父目录不存在),我可以使用mkdir -p /path/to/directory && touch /path/to/directory/NEWFILE. 但是,还有其他命令可以实现这一目标吗?

cuo*_*glm 6

AFAIK,没有这样的标准,但你可以自己做:

ptouch() {
  for p do
    _dir="$(dirname -- "$p")"
    mkdir -p -- "$_dir" &&
      touch -- "$p"
  done
}
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

ptouch /path/to/directory/file1 /path/to/directory/fil2 ...
Run Code Online (Sandbox Code Playgroud)