log.txt 减去 log.back2022.06.21.10.30.txt 的内容,然后导出到一个新的文件

我有二个文件:

log.txt

log.back2022.06.21.10.30.txt

log.back2022.06.21.10.30.txt 是 log.txt 的2022.06.21 10:30的备份。
log.txt是不断在增加内容的文件;
我想得到
log.txt 减去 log.back2022.06.21.10.30.txt 的内容,然后导出到一个新的文件:
log.back.new.txt 中。

请问这个怎么做?

回复
阅读 946
2 个回答

我只有一个大致思路,具体的脚本命令可能想不起来了,但是用awk肯定是没啥问题。

log.txt在不断增加,log.back2022.06.21.10.30.txt是备份,如果备份文件是对应时间的全量备份,那log.txt在之后的新增可以用行数来确定,比如备份了100行,那从log.txt中取100行之后的内容。

如果不是的全量备份,那可能需要做查找。不过既然是log文件,多少会有时间戳这样的字段吧,匹配一下应该也能找出剩下的内容

以上基于log.txt中是换行的记录,如果还不是的话,那就是纯匹配然后取字符复制了。

逻辑上awk命令应该都可以实现,可以看看说明https://www.geeksforgeeks.org...。再不行就加入sed神教

已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。


如果内容不存在重复的话倒是可以直接匹配删除

推荐问题
宣传栏