有没有办法使用 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,以防您好奇。
我想根据我已有的文件名创建目录。例如,假设我有:
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,以防您好奇。