Como eu crio um arquivo em um diretório ao mesmo tempo?

0

então eu sei fazer vários diretórios ao mesmo tempo, por exemplo ..

mkdir -p tree/{dir1,dir2,dir3}

mas como eu faço um diretório e coloco arquivos nele ao mesmo tempo? Em última análise, quero fazer isso em muitos ao mesmo tempo.

    
por Ovid Virgil 03.02.2018 / 11:32

1 resposta

0

Não existe um único comando para fazer isso, mas você pode fazer o seu próprio:

    mkpath(){ mkdir -p ${1%/*} && mkfile 0 $1; }

que pode ser chamado com um único argumento especificando o caminho de um arquivo a ser criado. Quaisquer diretórios que precisem ser criados ao longo do caminho serão criados, momento em que um arquivo vazio é criado com o nome do arquivo especificado, por exemplo.

    mkpath dir1/dir2/dir3/file.txt

Nota: Esta é uma função de exemplo que não foi totalmente testada para atender a diferentes entradas e situações. Uma captura de erro adequada pode ser necessária para garantir a robustez.

Como ele herda os recursos de suas funções componentes, mkdir e mkfile , duas características importantes são transferidas para mkpath da forma atual:

  • Parece seguro especificar um caminho que inclua diretórios pré-existentes, e esses diretórios e seus conteúdos não serão sobrescritos;
  • Por outro lado, se um arquivo existir no local especificado, ele será substituído por um arquivo em branco e não será possível recuperar o conteúdo antigo do arquivo.
por 06.02.2018 / 18:49

Tags