Answers:
当然,在音乐人文件夹所在的音乐文件夹中执行此操作:
for artist in */; do
for folder in "1. Albums" "2. EP" "3. Singles" "4. Live"; do
mkdir "$artist/$folder"
done
done
您可以在CLI上执行此操作,也可以通过添加#!/bin/sh
为第一行并将其保存在文件中来使其成为Shell脚本。不要忘记使文件可执行。
关于它的作用:遍历*/
当前目录中的所有目录(),然后对每个目录遍历所需的子文件夹(第二个for
),然后生成所需的(相对)子文件夹。
您可能想为此戴上{curly}括号
为了这个论点,我们将假装./music不存在
在./music的基本目录中,我们将使用-p命令在需要的地方创建子目录,花括号将用于创建一个小数组。
该命令-p
是父级的缩写,如果更容易记住,您可以--parent
改用
mkdir -p ./music/{"1. Albums","2. EP","3. Singles","4. Live"}
如果您想玩这个游戏,例如
mkdir -p ./folder/prefix{a{1/only,2,3},b,c}suffix/more{z,y,x}
您具有嵌套表达式,可以将花括号插入字符串的中间,还可以允许子目录跟随,并且可以针对特定数组指定子目录
我建议您在某个位置创建文件,然后在其中使用此类命令创建自己的模板并对其进行描述
访问此页面以获取更多信息https://www.linuxjournal.com/content/bash-brace-expansion和https://www.linux.com/tutorials/all-about-curly-braces-bash/
music
,因此正确的arg mkdir
将为./music/*/{"1. Albums","2. EP","3. Singles","4. Live"}
-p
是的缩写--parent
。