我是学生学习bash,我需要获取子目录中的所有文件,目录和所有内容,并以这样的形式显示给终端中的用户:
NAME: TYPE:
text :file
doc :directory
text是文件,doc是目录。我不需要将目录与子目录区分开来。到目前为止,我已经提出了这个代码:
for f in $(ls -R)
do
if[ -d $f ]
then
echo "$f : Directory"
fi
if[ -f $f ]
then
echo "$f : File"
fi
done | column -t
但是,此代码仅通过当前目录,而不通过子目录。关于如何使这项工作的任何想法?
答案 0 :(得分:1)
改为使用find(1)
。
while read file
do
...
done < <(find ...)
或者使用bash 4.0 +:
shopt -s globstar
for file in **
do
...
done