gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 12:48:07 25 4
gpt4 key购买 nike

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

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

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

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

array[index]=ls -altr | awk '{print $6,$7,$8}'

代码我正在尝试检索以前的日期文件,但不起作用

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


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

-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

最佳答案

要选择昨天修改的文件,您可以使用

find . -daystart -type f -mtime 1

要选择较旧的文件,您可以使用

find . -daystart -type f -mtime +1

可能添加一个 -name 测试以仅选择像 audit.log* 这样的文件,例如。然后您可以使用 xargs 来处理文件,例如

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

关于linux - 如何获取以前的日期文件并将 ls 输出传递给 gawk 中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38111006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com