[英]enumerate each sub directory in a directory in bash
for subdir in $( find $dir -type d ); do echo "subdir is $subdir" done
问题是,如果子目录名称包含空格,它们将分隔开,我该如何解决?
您可以使用process substitution
:
while IFS= read -d '' -r subdir; do
echo "subdir is $subdir"
done < <(find "$dir" -type d -print0)
for subdir in $somedir/*/ do
echo "subdir is $subdir"
done
如果您仍然遇到空格问题,那么您就别无所求了。
oldifs=$IFS
IFS=$'\n'
for subdir in $( find $dir -type d ); do
echo "subdir is $subdir"
done
IFS=$oldifs
例:
$ bash dirnm.sh a
subdir is a
subdir is a/dir 1
subdir is a/dir 2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.