如何使用 bash 比较 txt 文件中的两行?

如何使用 bash 比较 txt 文件中的两行?

我想比较 txt 文件中的最后两行。虽然看起来逐行比较是可行的 - 找到了几个例子 - 但我似乎找不到始终比较最后两行的方法。而且这两行总是包含一组简单的字符,所以它就像比较字符串一样。谢谢!

编辑:我实际上想要实现的目标可能会使这个问题变得无关紧要,所以让我解释一下。我有一个脚本,它会生成一些字符串值。现在,这个脚本每天都由 crontab 运行,它的输出会保存到一个新文件中。每当字符串发生变化时,文件就应该随之更新,并创建一个具有新值的新文件,记录新值的创建日期。据我所知,crontab 作业不是有条件的,我就是想不出如何实现这个目标,而不是在同一个文件中添加字符串并将其与前一行的字符串进行比较。我知道这不是最好的方法,因为文件会不断增长——但我总是可以运行一些清理(自动化)——但是我不知道其他方法。当然,这两行的检查将由第二个脚本完成,该脚本将由第二个 crontab 作业运行,该作业将在每日第一个作业之后运行。我希望解释是合理的。谢谢!

答案1

在伪代码中:

LastLine=""
SecondLastLine=""
while read LineIn
    SecondLastLine="$LastLine"
    LastLine="$LineIn"
done
# now string compare last lines

在手机上输入,但我可以在下班后发布非伪代码答案。

相关内容