Criando arquivo de texto com conteúdo dentro de uma lista mkdir

Criando arquivo de texto com conteúdo dentro de uma lista mkdir

Eu usei mkdir para criar uma pasta pai com 10 pastas filhas adicionais usandomkdir -p pai\filho{1..10}. Agora preciso criar um arquivo txt em cada uma dessas 10 pastas filhas como (nome da pasta pai).txt

Não consigo usar o comando touch porque cada documento de texto também precisa conter uma linha de texto.

Minha ideia original era criar um loop que fizesse com que cada pasta filho e arquivo txt com a linha de texto especificada fosse individualmente 10 vezes. Achei que isso seria ineficiente.

Posso criar todas as 10 pastas filhas e a pasta pai com um único comando. Como eu criaria os arquivos de texto de maneira eficiente com a linha de texto? Ou minha ideia original foi a melhor maneira de fazer isso?

Responder1

Uma das abordagens pode ser semelhante a:

mkdir -p parent/child{1..10}
for d in parent/child{1..10}; do echo "This file is stored in ${d##*/}" > "$d/parent.txt"; done

Visualizando resultados:

$ head parent/child*/parent.txt
==> parent/child10/parent.txt <==
This file is stored in child10

==> parent/child1/parent.txt <==
This file is stored in child1

==> parent/child2/parent.txt <==
This file is stored in child2

==> parent/child3/parent.txt <==
This file is stored in child3

==> parent/child4/parent.txt <==
This file is stored in child4

==> parent/child5/parent.txt <==
This file is stored in child5

==> parent/child6/parent.txt <==
This file is stored in child6

==> parent/child7/parent.txt <==
This file is stored in child7

==> parent/child8/parent.txt <==
This file is stored in child8

==> parent/child9/parent.txt <==
This file is stored in child9

informação relacionada