Я использовал 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