首页 > 解决方案 > Shell循环遍历特定目录中的所有文件

问题描述

如何使用shell脚本遍历特定目录中的所有文件?我在当前工作目录中有一个目录,即 .temp。在 .temp 里面有另一个目录索引,里面有一些文件。

我尝试了以下方法:

for file in ./.temp/index/*
do 
  echo "File in index: $file"
done 

for file in "./.temp/index"/*
do 
  echo "File in index: $file"
done 

但是,它打印$file./.temp/index/$file. 例如:

File in index: ./.temp/index/first.txt
File in index: ./.temp/index/second.txt
File in index: ./.temp/index/third.txt
...

是否有符合 POSIX 标准的方式来遍历该目录中的实际文件?

标签: shell

解决方案


for _file in `find . -type f`;
do
    echo "File: $_file";
done

-type f将在目录中找到文件。您可以根据需要添加其他过滤器。


推荐阅读