Linux 给定输入中的空文件夹列表
我有一个包含每天日志的目录。每个目录都使用此名称模式格式化Linux 给定输入中的空文件夹列表,linux,bash,shell,scripting,scripting-language,Linux,Bash,Shell,Scripting,Scripting Language,我有一个包含每天日志的目录。每个目录都使用此名称模式格式化2012\u 07\u 01,2012\u 07\u 02 我想要的是从给定的$startdate和$enddate中进行检查,并查看从开始到结束日期变量的任何时间之间是否存在搜索返回列表上的空文件夹。如果是这种情况,那么我将从返回值列表中删除空文件夹 至于那些里面有文件的文件,我想在每个文件中搜索$startdate和$enddate值。如果它们存在于任何目录中,那么我希望脚本将该文件名列表返回给我。以下是一个想法: for dir i
2012\u 07\u 01
,2012\u 07\u 02
我想要的是从给定的$startdate
和$enddate
中进行检查,并查看从开始到结束日期变量的任何时间之间是否存在搜索返回列表上的空文件夹。如果是这种情况,那么我将从返回值列表中删除空文件夹
至于那些里面有文件的文件,我想在每个文件中搜索$startdate
和$enddate
值。如果它们存在于任何目录中,那么我希望脚本将该文件名列表返回给我。以下是一个想法:
for dir in `ls | sort | sed -n "/$startdate/,/$enddate/p"` ; do
if [ `ls $dir | wc -l` -gt 0 ] ; then
ls $dir
else
rmdir $dir
fi
done
另外,请注意,
rmdir*
只会删除空目录。这个问题还有一些改进的余地——一定要使用标点符号和适当的大写字母,并分享到目前为止您尝试过的内容。目录有正确的时间戳吗?使用find-ctime
会更容易。嗯,我不太清楚你的意思,但我能告诉你的是正确的,所有目录都有这个名称,从2012年7月1日到今天的2012年11月9日,它是一个每天手动创建的文件夹,由另一个人确保当天的所有日志文件具有正确的大小、质量和内容,然后该人将其移动到正确的文件夹(本例中为创建当天的每天日志)。所以我想答案是肯定的,他们有正确的时间戳。你能为startdate变量定义-ctime吗?