匹配文件的多行,如果内容不匹配,则替换



我有一个特定的文件(sample.txt),用内容说:

Doc=True    
Add=123.566.33.8    
This #is a sample File    
Use #for Certain specific functions    
Domain=443.59.43.23

执行一定操作后,此文件的内容会更改:

Doc=True
Add=123.566.33.8
eshfsjfn
sldfhsehfoewjwefn
lsjdnfnfd

现在,我需要确保内容始终保持在第一种情况下。因此,我试图使用具有所有必需行的某个GREP命令来抓取初始模式(sample.txt),如果行不匹配,则应在文件sample.txt中附加这些行。sample.txt中的内容应始终仅限于最初显示的内容。我不想创建一个具有相同内容的文件,然后匹配它们。我想使用GREP,SED或尴尬。

我发布了此答案,假设您希望sample.txt与标准尴尬文件入口进行检查

希望它可以帮助您

awk'BEGIN {
  while (getline < "sample.txt")
  {
    a[$0]
  }
}
{
    if( $0 in a)
    {
        located=true;
    }
    if(!located)
    {
        print "Line changed ->"NR" ->"$0
        print $0 >> "sample.txt"  <-- Printing located line in sample.txt
        located=false;
    }
}' file2.dat

相关内容

  • 没有找到相关文章

最新更新