如何将文本文件的一行与不同文本文件的一行进行比较,如果它们不相同,则附加第一行

How to compare a lines of a text file with a line of different text file and append the first one if they are not same

我想比较两个文本文件的特定行,如果不相同则更新其中一个文件。

更新 文本文件中的一行在技术上是不可能的(除非替换行的长度完全相同)。您必须创建一个新文件,最后您可以将其移动到旧文件。

根据您的标签,我假设您正在寻找 shell 解决方案,这可能不是一个好主意。用 Perl 或 Ruby 或 Python.

来做可能更方便

一种可能是使用命令 headtail,它们允许您将文件分解成多个部分。您可以将文件分成三部分:相关行之前的部分、该行本身以及之后的行。

另一种可能是使用循环和shell的read命令逐行处理一个文件,像这样:

while read line           
do           
  ... # Decide here, whether to write $line or the replacement line          
done <your_file