Linux如何在文件名中列出大于特定时间戳的文件?

卡比兰S

我在linux中有一个目录,其中包含日志文件列表,如果运行某些作业,日志文件会自动生成。每个日志文件都附加时间戳,例如“ JobName_TimeStamp

更新:

job_2014-05-28_15:05:26.log
job_2014-05-28_15:06:58.log
job_2014-05-28_15:07:02.log
job_2014-05-28_15:07:57.log
job_2014-05-28_15:08:00.log
job_2014-05-28_15:08:01.log
job_2014-05-28_15:08:09.log
job_2014-05-28_15:08:10.log
job_2014-05-28_15:08:11.log
job_2014-05-28_15:08:12.log
job_2014-05-28_15:08:13.log
job_2014-05-28_15:08:14.log
job_2014-05-28_15:08:22.log

job1_2014-05-28_15:08:11.log
job1_2014-05-28_15:08:12.log
job1_2014-05-28_15:08:13.log
job1_2014-05-28_15:08:14.log
job1_2014-05-28_15:08:22.log

我想运行linux命令列出所有大于特定时间戳的文件吗?

对于示例1:我将传递两个参数,如果给定时间戳是“ 2014-05-28_15:08:00 ”,而作业名称是“ job

我应该得到清单

job_2014-05-28_15:08:01.log
job_2014-05-28_15:08:09.log
job_2014-05-28_15:08:10.log
job_2014-05-28_15:08:11.log
job_2014-05-28_15:08:12.log
job_2014-05-28_15:08:13.log
job_2014-05-28_15:08:14.log
job_2014-05-28_15:08:22.log

示例2:我将传递两个参数,如果给定时间戳为“ 2014-05-28_15:08:11”,作业名称为“ job1

我应该得到清单

job1_2014-05-28_15:08:12.log
job1_2014-05-28_15:08:13.log
job1_2014-05-28_15:08:14.log
job1_2014-05-28_15:08:22.log

有什么办法吗?

谢谢。

卡拉尼迪

使用此简单的bash脚本并获取输出

#!/bin/bash
pattern1=`echo $1 | sed  's/_/ /'`;
pattern2=`date -d "$pattern1" "+%s"`
for file in `ls *.log` 
do
    job=`echo "$file" |  sed -r 's/([^_]+).*/\1/g'`
    time=`echo "$file" | sed -r 's/([^_]+_)(.*)_(.*)\..*/\2 \3/g'`
    pattern3=`date -d "$time" "+%s"`
            if [ $2 == $job ]  && [ $pattern3 -gt $pattern2 ] ; then 
                    echo  "$file" 
            fi
done

您必须运行此方法

 $bash script_file.sh <timestamp> <job>

喜欢

$bash script_file.sh 2014-05-28_15:08:00 job

代替pattern1 =echo $1 | sed 's/_/ /'

您将以下行放在该位置。

job1=`echo $1 | sed -r 's/([^_]+).*/\1/g'`;
pattern1=`echo $1 | sed -r 's/([^_]+_)(.*)_(.*)\..*/\2 \3/g'`

并且需要在$ job1上放置if语句,而不是$ 2。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

列出文件名中大于特定时间戳的文件?

来自分类Dev

列出具有特定时间戳记的文本文件中存储的文件名

来自分类Dev

如何在文件名后附加时间戳?

来自分类Dev

如何更改文件名时间戳?

来自分类Dev

在文件名中包括时间戳

来自分类Dev

在文件名中包含时间戳

来自分类Dev

如何在终端中列出所有文件名?

来自分类Dev

命令在文件名上添加特定时间?

来自分类Dev

根据文件名中的时间戳值复制文件

来自分类Dev

如何在特定时间播放文件

来自分类Dev

如何在makefile中创建一个包含文本文件名和时间戳的变量?

来自分类Dev

如何在特定时间列出没有目录的文件

来自分类Dev

如何仅列出文件名而不列出目录中的属性(在Linux中)?

来自分类Dev

OS X:如何从时间戳更改文件名

来自分类Dev

如何使用python从opencv中的特定时间戳播放视频文件?

来自分类Dev

如何在cron作业的输出文件名的末尾添加时间戳?

来自分类Dev

Python:解析文件名中嵌入的时间戳

来自分类Dev

在文件名中包含当前时间戳?

来自分类Dev

使用powershell从文件名中获取时间戳

来自分类Dev

在 UNIX 中查找并列出由数字和日期组成的文件名,如果大于特定数字

来自分类Dev

如何列出文件名中包含空格的文件?

来自分类Dev

如何列出文件夹中的文件名

来自分类Dev

如何根据时间戳对grep命令中显示的文件名进行排序?

来自分类Dev

过滤并列出特定的文件名

来自分类Dev

如何从平面文件中删除列名并替换为“标题记录信息”..(文件名、时间戳等)

来自分类Dev

如何在目录中的服务器上列出文件名?

来自分类Dev

如何仅列出HDFS中的文件名

来自分类Dev

如何传递文件名以某种格式在python中列出?

来自分类Dev

如何列出系统中的所有文件名

Related 相关文章

  1. 1

    列出文件名中大于特定时间戳的文件?

  2. 2

    列出具有特定时间戳记的文本文件中存储的文件名

  3. 3

    如何在文件名后附加时间戳?

  4. 4

    如何更改文件名时间戳?

  5. 5

    在文件名中包括时间戳

  6. 6

    在文件名中包含时间戳

  7. 7

    如何在终端中列出所有文件名?

  8. 8

    命令在文件名上添加特定时间?

  9. 9

    根据文件名中的时间戳值复制文件

  10. 10

    如何在特定时间播放文件

  11. 11

    如何在makefile中创建一个包含文本文件名和时间戳的变量?

  12. 12

    如何在特定时间列出没有目录的文件

  13. 13

    如何仅列出文件名而不列出目录中的属性(在Linux中)?

  14. 14

    OS X:如何从时间戳更改文件名

  15. 15

    如何使用python从opencv中的特定时间戳播放视频文件?

  16. 16

    如何在cron作业的输出文件名的末尾添加时间戳?

  17. 17

    Python:解析文件名中嵌入的时间戳

  18. 18

    在文件名中包含当前时间戳?

  19. 19

    使用powershell从文件名中获取时间戳

  20. 20

    在 UNIX 中查找并列出由数字和日期组成的文件名,如果大于特定数字

  21. 21

    如何列出文件名中包含空格的文件?

  22. 22

    如何列出文件夹中的文件名

  23. 23

    如何根据时间戳对grep命令中显示的文件名进行排序?

  24. 24

    过滤并列出特定的文件名

  25. 25

    如何从平面文件中删除列名并替换为“标题记录信息”..(文件名、时间戳等)

  26. 26

    如何在目录中的服务器上列出文件名?

  27. 27

    如何仅列出HDFS中的文件名

  28. 28

    如何传递文件名以某种格式在python中列出?

  29. 29

    如何列出系统中的所有文件名

热门标签

归档