如何获取以前的日期文件并将 ls 输出传递给 gawk 中的数组

how to get previous date files and pass ls output to array in gawk

我生成了如下所示的日志文件,我需要每天 运行 脚本列出它们,然后做两件事。

1-获取以前/昨天的文件并将它们传输到x服务器 2- 获取超过一天的文件并将它们传输到 y 服务器

文件如下所示,我正在尝试下面的代码但无法正常工作。

我们如何将 ls -altr 输出传递给 gawk?我们可以构建一个如下所示的关联数组吗?

array[index]=ls -altr | awk '{print ,,}'

代码我正在尝试检索以前的日期文件,但无法正常工作

previous_dates=$(date -d "-1 days" '+-%d')


ls -altr |gawk '{if ( !=previous_dates ) print  }'

-r--------   1 root root 6291563 Jun 22 14:45 audit.log.4
-r--------   1 root root 6291619 Jun 24 09:11 audit.log.3
drwxr-xr-x. 14 root root    4096 Jun 26 03:47 ..
-r--------   1 root root 6291462 Jun 26 04:15 audit.log.2
-r--------   1 root root 6291513 Jun 27 23:05 audit.log.1
drwxr-x---.  2 root root    4096 Jun 27 23:05 .
-rw-------   1 root root 5843020 Jun 29 14:57 audit.log

对于昨天修改的select个文件,您可以使用

find . -daystart -type f -mtime 1

对于 select 旧文件,您可以使用

find . -daystart -type f -mtime +1
例如,

可能仅向 select 文件添加 -name 测试,例如 audit.log*。然后您可以使用 xargs 来处理文件,例如

find . -daystart -type f -mtime 1 | xargs -n 1 -I{} scp {} user@server