gpt4 book ai didi

linux - 使用 linux 命令列出给定时间之间目录中的文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:31:44 25 4
gpt4 key购买 nike

只有当我能够找到在 2 小时内创建的文件列表时,我们才需要减少一些错误。

我的文件命名模式是

App_ErrorFile1401_01_11_YYYYMMDDHHMMSS_1234_123456.csv.gz

我需要查找昨天上午 9 点到 11 点之间的文件。找到文件列表后,我会将这些文件通过 FTP 传输到给定的服务器 IP。

FTP 部分是我们可以轻松完成的部分,但我无法找到任何模式,我只能使用该模式搜索 2 小时的文件并选择它们用于 FTP。我对带有正则表达式模式的 grep 不太了解,在通过网络一个多小时后,我还没有弄清楚如何构建我的声明。我可以使用查找/grep。我在 RHEL 上。

帮助将不胜感激。

最佳答案

如果你可以使用 bash,你可以尝试下面的代码片段:

#!/bin/bash

# define timearea
yesterday=$(date --date="yesterday" +"%Y%m%d")
start="${yesterday}090000"
stop="${yesterday}110000"

find . -name "App_ErrorFile*.csv.gz" | \
while read -r file; do
IFS=_ read -r -a arr <<< "$file"
timestamp="${arr[4]}"
if [[ $timestamp -ge $start && $timestamp -le $stop ]]; then
echo "$file"
fi
done

您必须从文件所在的目录启动它。

关于linux - 使用 linux 命令列出给定时间之间目录中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57213093/

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