【问题标题】:how to get number of files older than 1 hour on ksh HP-UX如何在 ksh HP-UX 上获取超过 1 小时的文件数
【发布时间】:2018-10-20 10:48:33
【问题描述】:

我需要列出在 HP-UX 的某个文件夹中创建时间超过 1 小时的文件集。以下是我尝试过的命令。

find . -type f -mmin +60 | wc -l

但它返回 ksh 的以下错误

发现:错误选项 -mmin

获取超过 1 小时的文件数量的替代选项是什么?

即使我尝试了以下命令。又是一个错误。但它也适用于 bash

find . -type f -mtime  +0.04 | wc -l

发现:处理参数 0.04 时出错

【问题讨论】:

  • 使用touch 创建一小时前的文件并使用find ! -newer tmpfile
  • @sugunan 想要旧文件,而不是新文件,所以你的答案(以及下面我的)无效
  • 对不起,有!运营商它会工作,但正确的命令是 find 。 ! -newer tmpfile

标签: find ksh hp-ux


【解决方案1】:

在 HP-UX 中 find 没有分钟选项,mtime 需要天作为参数。 您可以创建一个测试文件,用所需的时间“触摸”它,然后与 ! -较新[m]。例如:

# onehourago=`date  +"%m %d %H %M" | awk '{ onehourago=$3 - 1 ; if (onehourago<0) { onehourago=59 } printf("%.2d%.2d%.2d%.2d\n",$1,$2,onehourago,$4) }'`

# touch -t "$onehourago" testfile

# find . -type f ! -newer testfile | wc -l

【讨论】:

  • 我的回答无效,因为他想要的文件比测试文件“旧”,这是不可能的,据我所知,没有“-older”选项。
  • 已编辑,现在有效,带有“!”运算符
  • 这在 HP-UX 上运行良好。唯一的问题它也计算 testfile 。但我会修复它。无论如何感谢您的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-26
  • 2018-11-10
  • 2011-11-18
  • 1970-01-01
  • 1970-01-01
  • 2012-12-31
  • 2023-04-02
相关资源
最近更新 更多