首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用linux命令列出给定时间间隔内目录中的文件

使用linux命令列出给定时间间隔内目录中的文件
EN

Stack Overflow用户
提问于 2019-07-26 12:09:24
回答 1查看 41关注 0票数 1

有几个错误,我们需要减轻,这可以做到只有当我能够找到两个小时之间创建的文件列表。

我的文件命名模式是

代码语言:javascript
运行
复制
App_ErrorFile1401_01_11_YYYYMMDDHHMMSS_1234_123456.csv.gz

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

FTP部分是我们可以很容易做的事情,但我不能找到任何模式,我可以用它来搜索2个小时的文件,并选择他们的FTP。我对使用正则表达式模式的grep没有太多的概念,在网上浏览了一个多小时后,我还没有弄清楚如何构建我的语句。我可以使用find/grep。我在RHEL上。

我们将非常感谢您的帮助。

EN

Stack Overflow用户

发布于 2019-07-26 14:31:08

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

代码语言:javascript
运行
复制
#!/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 

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

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57213093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档