GNU/Linux >> Linux の 問題 >  >> Linux

1行で必要に応じてファイルとmkdirに触れる方法

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 ディレクトリが既に存在する場合も何もしないので、自分で確認する必要はありません。


Linux
  1. コマンドラインからアクセス許可と所有者を変更する方法

  2. Linuxでテキストファイルに行番号を追加する方法

  3. Linuxでコマンドラインからファイルを分割して結合する方法

  1. テキストファイルの行を1行上または下に移動するにはどうすればよいですか?

  2. ファイルの内容をエンコードして1行としてエコーしますか?

  3. Linux で出力行ごとに 1 つのファイル名をリストするにはどうすればよいですか?

  1. Linuxでコマンドラインからファイルとディレクトリを削除する方法

  2. Unix - フォルダーとファイルのパスを作成する

  3. ファイルを gunzip して .gz ファイルを保持するにはどうすればよいですか?