创建每个子目录中所有文件的.txt

时间:2016-10-28 19:55:41

标签: linux bash

我需要在列表中所有文件的每个子目录中创建一个文本文件 例如,subdirectory1将包含其所有文件的列表.txt,而subdirectory2也会包含所有subdirectory2个文件的列表{{1} }。 我试过了

.txt

然而,这并没有产生任何结果。我绝对需要它作为shell脚本,因为它将成为管道脚本的一部分,但我似乎无法让它工作。

这是经过调整的脚本,它给了我没有这样的文件或目录注释。我知道该文件夹存在并在此命令之前运行的命令中使用它。

#!/bin/bash
for X in "$directory" *
do  
    if [ -d "$X" ];
    then
        cd "$X"
        files="$(ls)"
        echo "$files" >> filesNames.txt
    fi
done

1 个答案:

答案 0 :(得分:3)

要迭代的序列应为"$directory"/*/

for x in "$directory"/*/; do
  (cd "$x"
   files=(*)
   printf '%s\n' "${files[@]}" > filesNames.txt
  )
done