touch
、mkdir
、>
、またはファイルと存在しない親ディレクトリを同時に作成できるようにするためのフラグ/オプションはありますか?
たとえば、私が空のフォルダにいるとします。フォルダを作成するときに親ディレクトリが存在しない場合は、親ディレクトリを作成できます
mkdir -p nested/folder
既存のディレクトリにファイルを作成できます
touch nested/folder/something.txt
しかし、まだ存在しないディレクトリにファイルを作成することはできません
touch nested/folder/deep/more.txt
touch:「nested/folder/deep/more.txt」には触れられません:そのようなファイルやディレクトリはありません
more.txt
を作成すると同時に、そのdeep
フォルダをどのように作成しますか?
2つのコマンドを1行で組み合わせることができます。変数を使用する場合、これを行うことができます:
file="./nested/folder/deep/more.txt"
そしてこれ:
mkdir -p "${file%/*}" && touch "$file"
または、次のように1行にまとめます。
mkdir -p "./nested/folder/deep" && touch "./nested/folder/deep/more.txt"
それは単一のコマンドではありませんが、あなたのために仕事をするかもしれません。