【发布时间】:2019-10-28 14:35:19
【问题描述】:
我正在尝试使用 Unix bash 脚本获取 SFTP 目录中在 24 小时之前最后修改的所有文件。请注意,我的环境不支持 lftp 选项。因此,我创建了一个脚本,将 SFTP 目录的所有子目录列出到本地文件,然后我使用循环遍历所有这些子目录名称,使用 ls -ltr 打印目录的内容并指示输出到本地文件。
现在我有一个包含以下内容的文件,假设当前时间是 10 月 28 日 22:32。
-rw------- 1 200 100 1930 Oct 25 08:31 File1
-rw------- 1 200 100 280 Oct 25 11:32 File2
-rw------- 1 200 100 280 Oct 25 12:17 File3
-rw------- 1 200 100 280 Oct 25 22:31 File4
-rw------- 1 200 100 280 Oct 26 22:32 File5
-rw------- 1 200 100 280 Oct 27 22:31 File6
-rw------- 1 200 100 280 Oct 16 09:59 File7
-rw------- 1 200 100 280 Oct 16 09:59 File8
-rw------- 1 200 100 280 Oct 16 10:00 File9
是否可以获得所有文件名及其最后修改的时间戳,最后修改日期
【问题讨论】:
-
如果能avoid parsing
lsoutput就更好了 -
@tripleee 您知道从 sftp 连接获取此信息的另一种方法吗?这不是 ls(1)。这是 sftp 中的“ls”命令。
-
你能挂载sftp吗?然后只需
find文件即可。 -
@KamilCuk 挂载 SFTP 的选项不可用。
-
[stackoverflow.com/questions/16085958/… 参考上面并避免解析 ls 而是使用 find。