GNU/Linux >> Belajar Linux >  >> Linux

Cara menyentuh file dan mkdir jika diperlukan dalam satu baris

Di perl, menggunakan salah satu modul favorit saya:Path::Tiny.

path("/opt/test/test.txt")->touchpath;

Dari dokumen:

Menggabungkan mkpath dan sentuhan. Membuat direktori induk jika tidak ada, sebelum menyentuh file.


Saya suka mengetik sangat sedikit, jadi saya memasukkan perintah ini ke fn bernama di .profile saya, tetapi saya menggunakan formulasi ini selama bertahun-tahun sebelum saya melakukannya:

mkdir -p dirname/sub/dir && touch $_/filename.ext

Variabel $_ menyimpan argumen terakhir ke perintah sebelumnya. Cukup berguna untuk mengetahui tentang keseluruhan.


mkdir B && touch B/myfile.txt

Atau, buat fungsi:

   mkfile() { 
    mkdir -p $( dirname "$1") && touch "$1" 
   }

Jalankan dengan 1 argumen:filepath. Mengatakan:

mkfile B/C/D/myfile.txt

akan membuat file myfile.txt di direktori B/C/D.


Dalam skrip shell, Anda cukup melakukan:

mkdir -p /opt/test && touch /opt/test/test.txt

mkdir -p tidak akan gagal (dan tidak akan melakukan apa pun) jika direktori sudah ada.

Dalam perl, gunakan make_path dari File::Path module, lalu buat file sesuai keinginan Anda. make_path juga tidak melakukan apa-apa jika direktori sudah ada, jadi tidak perlu memeriksa sendiri.


Linux
  1. Cara Menghapus File dan Direktori di Linux dari Command Line

  2. Cara Menambahkan Nomor Baris Ke File Teks Di Linux

  3. Cara Memisahkan Dan Menggabungkan File Dari Baris Perintah Di Linux

  1. Encode Konten File Dan Gema Sebagai Satu Baris?

  2. Cara Menghitung Jumlah Baris dalam File di Linux (Contoh Perintah wc dan nl)

  3. Bagaimana cara mendaftar satu nama file per baris keluaran di Linux?

  1. Cara Mengubah Izin dan Pemilik melalui Command Line

  2. Bagaimana cara menambahkan baris header dan trailer ke file di Linux

  3. Bagaimana cara mengunggah satu file dengan FTP dari baris perintah?