【问题标题】:Empty Folder List from a Given Input [closed]给定输入中的空文件夹列表[关闭]
【发布时间】:2012-11-09 11:51:43
【问题描述】:

我有一个目录,其中包含每天的日志。每个目录都使用此名称模式格式化 2012_07_012012_07_02

我想要从给定的$startdate$enddate 中进行检查,并查看从 start 和 enddate 变量的任何时间之间是否存在搜索的返回列表中的空文件夹。如果是这种情况,那么我从返回值列表中删除空文件夹。

对于其中包含文件的那些,我想在其中的每一个中搜索 $startdate$enddate 值。如果它们存在于任何目录中,那么我希望脚本返回该文件名列表。

【问题讨论】:

  • 这个问题有一些改进的余地——使用标点符号和适当的大写,并分享你迄今为止尝试过的内容。
  • 目录是否有正确的时间戳?使用find -ctime 会更容易。
  • 嗯,我不太清楚你的意思,但我可以告诉你的是,从 2012_07_01 到今天 2012_11_09 的所有目录中都有这个名称,它是一个创建的文件夹对于每一天,由另一个人手动确保当天的所有日志文件具有正确的大小、质量和内容,然后该人将其移动到正确的文件夹中,在这种情况下,他们当天的每一天的日志被创造。所以我想答案是肯定的,他们有正确的时间戳
  • 你能定义startdate变量的-ctime吗?

标签: linux bash shell scripting scripting-language


【解决方案1】:

这是一个想法:

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 * 只会删除空目录。

【讨论】:

    猜你喜欢
    • 2019-06-01
    • 1970-01-01
    • 2013-01-27
    • 2011-09-08
    • 2019-05-18
    • 2022-01-26
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多