如何使用Bash脚本检查未知文件是否存在



在一个目录中;Global";我有多个文件和目录。文件名不一致。它们可能有扩展名,也可能没有扩展名,文件名中有大小写字母和数字。

abc.txt
aBCd
abcd124fg
123ABCD.csv

我想检查一下,如果";Global";目录,然后只列出所有文件名,但不列出目录。这可能吗,因为我不知道文件名是什么?

您可能希望在bash中使用find命令,并让它收集Global:中的所有内容

find ./Global -type f -name '*' -printf '%fn'

这将为您提供Global和子目录中的所有现有文件/名称,而不需要任何其他内容。"%f";将只提供文件名而不提供路径。

这基本上就是你需要循环通过的全部内容,或者如果用这个列表声明你想要的任何内容,它可以保存在数组或文本文件中,然后你可以用来做任何你想要的事情,比如你的任务,它将是:

if [[ $(find ./Global -type f -name '*' -printf '%fn') ]]; then
echo "Files found in Global"
else
echo "No files in Global"
fi

最新更新