我需要将子目录添加到多个目录。到目前为止,我有一个像狗[11-20] - [A-L]的结构,我想要一个看起来像狗[11-20] - [A-L] -1的子目录。我想尝试用尽可能少的命令来完成这个。我使用find命令和管道的努力没有奏效。所以例如dog11-A我想要一个名为dog11-A-1的子目录,而对于dog15-B我想要一个子目录dog15-B-1。
答案 0 :(得分:3)
for d in dog{11..20}-{A..L}; do
mkdir -p "$d/$d-1"
done
如有必要,这也将创建父母。您还可以在数组中构建所需的名称,并将其传递给mkdir
的单个调用。如果
for d in {11..20}; do
for suffix in {A..L}; do
base=dog$d-$suffix
dirs+=("$base/$base-1")
done
done
mkdir -p "${dirs[@]}"
如果这给你一个“太多参数”错误,你可以进行更多的聚合调用:
for d in {11..20}; do
dirs=()
for suffix in {A..L}; do
base=dog$d-$suffix
dirs+=("$base/$base-1")
done
mkdir -p "${dirs[@]}"
done