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
我们首先过滤 ./ 行,然后删除末尾的 : 以创建文件夹。