Perl で、私のお気に入りのモジュールの 1 つを使用:Path::Tiny.
path("/opt/test/test.txt")->touchpath;
ドキュメントから:
<ブロック引用>mkpath と touch を組み合わせます。ファイルに触れる前に、存在しない場合は親ディレクトリを作成します。
私は入力するのがほとんど好きではないので、このコマンドを .profile の名前付き fn に入れましたが、それを行う前に何年もこの式を使用していました:
mkdir -p dirname/sub/dir && touch $_/filename.ext
変数 $_
前のコマンドの最後の引数を格納します。全体について知っておくと便利です。
mkdir B && touch B/myfile.txt
または、関数を作成します:
mkfile() {
mkdir -p $( dirname "$1") && touch "$1"
}
1 つの引数で実行します:filepath.言い方:
mkfile B/C/D/myfile.txt
ディレクトリ B/C/D にファイル myfile.txt を作成します。
シェル スクリプトでは、次のことを簡単に実行できます。
mkdir -p /opt/test && touch /opt/test/test.txt
mkdir -p
ディレクトリが既に存在する場合、失敗しません (何もしません)。
perl では、make_path
を使用します File::Path
から モジュールを作成してから、必要に応じてファイルを作成します。 make_path
ディレクトリが既に存在する場合も何もしないので、自分で確認する必要はありません。