テキストファイルからフォルダを作成する

テキストファイルからフォルダを作成する
ls -R $pwd  > text.txt    

上記のコマンドは、次のtxtファイルを生成します。

engagement
groups
solo
text.txt

./engagement:
VAM01427.JPG
_VJR3208.JPG
_VJR3244.JPG
_VJR3281.JPG

./groups:
family
friends

./groups/family:
_VJR3358.JPG
_VJR3376.JPG
_VJR3379.JPG

./groups/friends:
_VJR3404-2.jpg
_VJR3416.jpg
_VJR3456.JPG

./solo:
VAM01381.JPG
VAM01385.JPG
VAM01386.JPG

このテキストファイルに基づいて、mkdirコマンドを使用してフォルダを作成してみました。

コマンドを実行するとき:cat text.txt | xargs -L 1 mkdir このコマンドは重複フォルダを作成します。

質問を正しく書くことができません。誰でも助けることができますか?

答え1

ディレクトリのみをリストするようにテキストファイルの形式を変更すると、問題全体がはるかに簡単になります。

find . -type d >directories.txt

それから

while IFS= read -r dir; do mkdir -p "$dir"; done <directories.txt

ここでは、ディレクトリ名にスペースを含めることができますが、改行文字は含まれないと仮定します。

答え2

テキストファイルで目的のタスク($ HOMEフォルダにディレクトリを作成)を実行できたので、cat text.txt | grep ./ | awk -F: '{ print $1}' | xargs -L 1 mkdir最初に./行をフィルタリングしてから末尾の:を削除してフォルダを作成します。

関連情報