例如,我在当前目录中循环播放目录:
for s in ./*/;
do
echo $s
done
./4014/
./4015/
./4017/
./4018/
我的问题是如何使用每个目录进行循环,因为它是一个单独的数字,如:
4014
4015
4017
4018
答案 0 :(得分:5)
您可以使用parameter expansion删除尾随的/
:
for folder in */; do
echo "${folder%/}"
done
或者如果你想在其他目录中循环:
for folder in path/*/; do
folder=${folder%/}
echo "${folder##*/}"
done
您还可以使用basename
:
for folder in path/*/; do
basename "${folder}"
done
引用扩展!
答案 1 :(得分:0)
使用 find
命令:
find . -maxdepth 1 -type d -printf "%f\n"