我有一个巨大的文本文件(例如hugetextfile.txt),其中包含如下模式的文件名(日期格式为YYYYMMDDHH24MISS):
filename1-20130910120756.txt
filename2-20130910150156.txt
filename3-20130911190256.txt
filename4-20130912010756.txt
filename5-20130914020756.txt
如何删除hugetextfile.txt中比某个时间戳更新的文件名,例如20130912000000?
答案 0 :(得分:2)
awk -F"-" '{t=20130910130000;split($2,a,"\.");}a[1]>t' your_fle
更新您的评论: 这应该工作。此命令将替换文件并删除所有行。
perl -i -lne 'if(/-(\d*)\.txt/){print if($1>20130910130000)}' your_file
答案 1 :(得分:1)
sed -i "/20130912[00-23][00-56][00-56]/d" fileName.txt
答案 2 :(得分:0)
var=
awk -F“ - ”'{t = 20130912130000; split($ 2,a,“。”);} a [1]> t'hugetextfile`
表示$ var中的j 做 sed“/ $ j / d”-i hugetextfile DONE `
这里Variable var保存了hugetextfile中高于20130912130000的文件名列表。 for循环用于从hugetextfile
中逐个删除这些文件名此致 VPK