mkdir リストの内容を使用してテキストファイルを作成します。

mkdir リストの内容を使用してテキストファイルを作成します。

mkdirを使用して、10の異なるサブフォルダを含む親フォルダを作成しました。mkdir -p 親\子{1..10}。これで、10個のサブフォルダのそれぞれに(親フォルダ名).txtというtxtファイルを作成する必要があります。

各テキスト文書には1行のテキストが必要なため、タッチコマンドは使用できません。

私の最初のアイデアは、各サブフォルダとtxtファイルで指定されたテキスト行が10回含まれるループを作成することでした。私はこれが非常に非効率的だと思います。

1つのコマンドで10個のサブフォルダと親フォルダの両方を作成できます。テキスト行を使用して効率的な方法でテキストファイルを作成するにはどうすればよいですか?それとも私の元のアイデアがそれを実装する最良の方法ですか?

ベストアンサー1

方法の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

おすすめ記事