有没有办法使用 for 循环根据文件名创建目录?

Is there a way to use a for loop to create directories based on filenames?

我想根据我已有的文件名创建目录。例如,假设我有:

red.txt green.txt blue.txt purple.txt orange.txt

是否可以创建名为的目录:

red/ green/ blue/ purple/ orange/ ?

我试过:

for f in *.txt; do mkdir {$f}; done

for f in *.txt; do mkdir {$f}.txt; done

for f in *.txt; do mkdir "$f/"; done

等等等等,它们的变体。我不知道我做错了什么。

这里有一个 bash-only 的方法...

for f in *txt; do mkdir ${f%.*}; done

我们在这里使用 bash 的 shell parameter expansion,以防您好奇。