GNU/Linux >> Znalost Linux >  >> Linux

Jak se dotknout souboru a mkdir v případě potřeby na jednom řádku

V perlu pomocí jednoho z mých oblíbených modulů:Path::Tiny.

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

Od dokumentu:

Kombinuje mkpath a touch. Vytvoří nadřazený adresář, pokud neexistuje, než se dotknete souboru.


Velmi málo rád píšu, takže jsem tento příkaz vložil do pojmenovaného fn ve svém profilu .profile, ale tuto formulaci jsem používal roky, než jsem to udělal:

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

Proměnná $_ uloží poslední argument do předchozího příkazu. Docela užitečné vědět o celkově.


mkdir B && touch B/myfile.txt

Případně vytvořte funkci:

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

Spusťte jej s 1 argumenty:filepath. Říká:

mkfile B/C/D/myfile.txt

vytvoří soubor myfile.txt v adresáři B/C/D.


Ve skriptu shellu můžete jednoduše provést:

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

mkdir -p neselže (a neudělá nic), pokud adresář již existuje.

V perlu použijte make_path z File::Path modul, pak vytvořte soubor, jak chcete. make_path také nedělá nic, pokud adresář již existuje, takže není třeba se sami kontrolovat.


Linux
  1. Jak změnit oprávnění a vlastníky pomocí příkazového řádku

  2. Jak odstranit soubory a adresáře v Linuxu z příkazového řádku

  3. Jak připojit více řádků k souboru?

  1. Jak přidat čísla řádků do textových souborů v systému Linux

  2. Jak přidat záhlaví a řádek upoutávky do souboru v Linuxu

  3. Jak mohu uvést jeden název souboru na výstupní řádek v Linuxu?

  1. Jak rozdělit a kombinovat soubory z příkazového řádku v Linuxu

  2. Jak počítat počet řádků v souboru v Linuxu (příklady wc a nl)

  3. Unix - vytvoření cesty ke složkám a souboru