Создание текстового файла с содержимым в списке mkdir

Создание текстового файла с содержимым в списке mkdir

Я использовал mkdir для создания родительской папки с дополнительными 10 дочерними папками, используяmkdir -p родитель\ребенок{1..10}. Теперь мне нужно создать txt-файл в каждой из этих 10 дочерних папок как (имя родительской папки).txt

Я не могу использовать команду touch, так как в каждом текстовом документе также должна быть строка текста.

Моя первоначальная идея состояла в том, чтобы создать цикл, который бы делал каждую дочернюю папку и файл txt с указанной строкой текста индивидуально 10 раз. Я посчитал, что это будет неэффективно.

Я могу создать все 10 дочерних папок и родительскую папку одной командой. Как мне создать текстовые файлы эффективным способом с помощью строки текста? Или моя изначальная идея была лучшим способом сделать это?

решение1

Один из подходов может выглядеть так:

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

Просмотр результатов:

$ 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

Связанный контент