在bash中递归跟踪文件

时间:2010-04-29 13:58:52

标签: bash file recursion

我的文件包含指向其他文件的文件名。这些文件包含指向其他文件的其他文件名,依此类推。我需要一个bash脚本,它递归地跟踪每个文件,并在运行期间将每个触摸的文件登录到文件中。

file1:
   file2
   file3

file2:
   file4

file3:
   file5

file4和file5为空。 结果:

file1
file2
file4
file3
file5

1 个答案:

答案 0 :(得分:1)

定义

function scan() {
  echo $1
  local f
  while read f ; do
    scan $f
  done < $1
}

使用:

scan file1 > log

更新:接受了丹尼斯威廉姆森的评论,并将cat $1 | while ... done替换为表现更佳的while ... done < $1