linux - 如何根据时间戳从巨大的文本文件中删除记录?

标签 linux bash unix sh ksh

我有一个巨大的文本文件(比如 hugetextfile.txt),其中的文件名遵循这样的模式(日期格式为 YYYYMMDDHH24MISS):

filename1-20130910120756.txt
filename2-20130910150156.txt
filename3-20130911190256.txt
filename4-20130912010756.txt
filename5-20130914020756.txt

如何从 hugetextfile.txt 中删除比特定时间戳更新的文件名,例如 20130912000000?

最佳答案

awk -F"-" '{t=20130910130000;split($2,a,"\.");}a[1]>t' your_fle

更新您的评论: 这应该工作。此命令将替换文件并删除所有行。

perl -i -lne 'if(/-(\d*)\.txt/){print if($1>20130910130000)}' your_file

关于linux - 如何根据时间戳从巨大的文本文件中删除记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18910671/

相关文章:

bash - 如何根据 svn 评论中的字符串获取颠覆 URL(主干/分支)中的所有修订?

linux - 虚拟机 apt-get grub 问题

bash - 等待 Shell 脚本上的按键

linux - 为什么这个文件没有被删除?

linux - linux 如何在单个目录中查找未修改的文件

java - 通过 bash 脚本将参数传递给正在运行的后台 java 进程

linux - Unix 如何阻止 unix/linux `wall` 消息传递?

mysql - Web 应用程序可以在我的 Windows 开发盒上运行,但不能在运行 Debian 的服务器上运行

linux - 将适配器序列添加到 fastq 文件的末尾

linux skel 和默认文件的作用是什么。文件做什么?