比较两个词,第一个词 = 附加日期的文件名,第二个词 = 仅日期。比较应该显示具有不同日期的行
compare two words, 1st word = file name appended with date and 2nd word = just date alone. compare should display the lines with different date
我正在编写一个脚本来比较附加日期 (YYY-MM-DD) 的文件名与修改文件的日期。
示例:
filename.2019-01-07.log 2019-01-09
filename.2019-01-07.log 2019-01-07
filename.2019-01-07.log 2019-01-07
输出:
filename.2019-01-07.log 2019-01-09
将以上两个单词与日期进行比较,显示日期不同的文件。
请告诉我执行此操作的可能方法
谢谢
类似的东西可以完成这项工作:
awk -F'[ .]' '{ if ( != ) print}'
删除重复模式的每一行:
sed -r '/([-0-9]{10}).*/d' input
或更准确
sed -r '/([0-9]{4}-[0-9]{2}-[0-9]{2})[.]log.*/d' input
试试这个 Perl 单行代码
$ cat sudhakar.txt
filename.2019-01-07.log 2019-01-09
filename.2019-01-07.log 2019-01-07
filename.2019-01-07.log 2019-01-07
$ perl -nE ' print unless /filename\.([\d-]+)\.log\s+/ ' sudhakar.txt
filename.2019-01-07.log 2019-01-09
$
我正在编写一个脚本来比较附加日期 (YYY-MM-DD) 的文件名与修改文件的日期。
示例:
filename.2019-01-07.log 2019-01-09
filename.2019-01-07.log 2019-01-07
filename.2019-01-07.log 2019-01-07
输出:
filename.2019-01-07.log 2019-01-09
将以上两个单词与日期进行比较,显示日期不同的文件。
请告诉我执行此操作的可能方法
谢谢
类似的东西可以完成这项工作:
awk -F'[ .]' '{ if ( != ) print}'
删除重复模式的每一行:
sed -r '/([-0-9]{10}).*/d' input
或更准确
sed -r '/([0-9]{4}-[0-9]{2}-[0-9]{2})[.]log.*/d' input
试试这个 Perl 单行代码
$ cat sudhakar.txt
filename.2019-01-07.log 2019-01-09
filename.2019-01-07.log 2019-01-07
filename.2019-01-07.log 2019-01-07
$ perl -nE ' print unless /filename\.([\d-]+)\.log\s+/ ' sudhakar.txt
filename.2019-01-07.log 2019-01-09
$