繁体   English   中英

如何基于时间戳从大文本文件中删除记录?

[英]How to delete records from huge text file based on timestamp?

我有一个巨大的文本文件(例如egugetextfile.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
sed -i "/20130912[00-23][00-56][00-56]/d" fileName.txt

var= awk -F“-”'{t = 20130912130000; split($ 2,a,“。”);} a [1]> t'hugetextfile`

为$ var中的j做sed“ / $ j / d” -i hugetextfile done`

在这里,变量var保存了hugetextfile中高于20130912130000的文件名列表。 并且for循环用于从hugetextfile中一一删除那些文件名

问候,VPK

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM