如何将文本文件的一行与不同文本文件的一行进行比较,如果它们不相同,则附加第一行
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.
来做可能更方便
一种可能是使用命令 head
和 tail
,它们允许您将文件分解成多个部分。您可以将文件分成三部分:相关行之前的部分、该行本身以及之后的行。
另一种可能是使用循环和shell的read
命令逐行处理一个文件,像这样:
while read line
do
... # Decide here, whether to write $line or the replacement line
done <your_file
我想比较两个文本文件的特定行,如果不相同则更新其中一个文件。
更新 文本文件中的一行在技术上是不可能的(除非替换行的长度完全相同)。您必须创建一个新文件,最后您可以将其移动到旧文件。
根据您的标签,我假设您正在寻找 shell 解决方案,这可能不是一个好主意。用 Perl 或 Ruby 或 Python.
来做可能更方便一种可能是使用命令 head
和 tail
,它们允许您将文件分解成多个部分。您可以将文件分成三部分:相关行之前的部分、该行本身以及之后的行。
另一种可能是使用循环和shell的read
命令逐行处理一个文件,像这样:
while read line
do
... # Decide here, whether to write $line or the replacement line
done <your_file