.ini
我如何检查(使用外壳程序)是否存在具有文件扩展名的文件/dir
?最快的方法是什么?谢谢!
问问题
5178 次
3 回答
4
我发现这对于验证现有的 jpeg 文件很有用。
if ls /path/*.jpg &> /dev/null; then
#do something with existing files
else
echo "files do not exist"
fi
于 2013-05-16T16:59:12.240 回答
1
set -- /dir/*.ini
case $1 in
('/dir/*.ini') echo "No ini files here.";;
(*) echo "Found $# ini files: $@";;
esac
看妈!没有叉子!这应该超过一百万个 CPU 周期,任何使用 fork to 和朋友的解决ls
方案find
。
现在这里有一个小问题。你能发现吗?好的,如果/dir
包含一个按*.ini
字面意思命名的文件(星号、点号、ini)会发生什么?以上将给你一个错误的否定:它报告没有ini文件,虽然有一个。如果你想为这个案例做准备(你应该为这个案例做准备,因为你是一个细心的程序员,注重细节,你的代码中没有陷阱,对吧?),你稍微修改第一个案例来阅读
('/dir/*.ini')
if test -f '/dir/*.ini'; then
echo "Wow, there's a plain file named '/dir/*.ini'!"
else
echo "No ini files here."
fi;;
于 2012-09-12T13:43:31.823 回答
0
find /dir/ -iname '*.ini'
. 如果您不想搜索子目录,请在-maxdepth 1
后面添加/dir/
于 2012-09-12T13:34:04.527 回答