我有文件a,b并且我想输出b更改后的行,因为它是从a. 只是修改后的行,没有周围的上下文,没有差异偏移标记。
我如何使用 shell 脚本来做到这一点?(没有 Python/Perl/PHP/...)
sed 和 awk 是可接受的解决方案。
现在,我正在做的是 diff -y 与 --suppress-common-lines 和 sed 使用正则表达式反向引用来获取空格后的正确部分。一定会有更好的办法?
使用 perl(这是被禁止的),我会做这样的事情:
diff -y --suppress-common-lines -W $COLUMNS Eclipse_Preferences_Export_*.epf | perl -pe 's/.*\t|\t(.*)$/\1/g'
Run Code Online (Sandbox Code Playgroud) 说我有两个文件:a.txt和b.txt.
内容a.txt:
hello world
Run Code Online (Sandbox Code Playgroud)
内容b.txt:
hello world
something else
Run Code Online (Sandbox Code Playgroud)
当然我可以用它vimdiff来检查它们的区别,我可以确保它a.txt是 的一个子集b.txt,这意味着它b.txt必须包含 中存在的所有行a.txt(就像上面的例子一样)。
我的问题是如何将存在b.txt但不存在的行记录a.txt到文件中?
我有两个二进制文件。
几百公斤之一,其他几千兆字节。
我想知道整个较小的文件是否包含在较大的文件中,如果是,那么与较大文件开头的偏移量是多少。
我只对精确匹配感兴趣,即整个文件是否包含在另一个文件中。
这两个文件都是二进制文件。
是否有任何现有的工具/单线可以做到这一点?