Rob*_*ino 32 diff sed awk shell-script
我有文件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)
man*_*ork 46
使用 GNU diffutils包,diff这将只输出文件 b 中被修改或新插入的行:
diff --unchanged-line-format= --old-line-format= --new-line-format='%L' a b
Run Code Online (Sandbox Code Playgroud)