我需要在列表中所有文件的每个子目录中创建一个文本文件
例如,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
答案 0 :(得分:3)
要迭代的序列应为"$directory"/*/
。
for x in "$directory"/*/; do
(cd "$x"
files=(*)
printf '%s\n' "${files[@]}" > filesNames.txt
)
done