我需要找出一个正则表达式,以删除所有不以“+”或“-”开头的行。
我想打印一份大型差异文件的纸质副本,但它会显示实际差异之前和之后的5行左右。
我需要找出一个正则表达式,以删除所有不以“+”或“-”开头的行。
我想打印一份大型差异文件的纸质副本,但它会显示实际差异之前和之后的5行左右。
VIM中:
:g!/^[+-]/d
全局对不匹配正则表达式:行首为+
或-
的行执行删除操作。
sed -e 'g!/^[+-]/d'
)完全做到同样的效果。 - h7rsed -e '/^[^+-]/d'
diff -u <一些参数> | grep '^[+-]'
或者你可以根本不产生额外的行:
diff --unified=0 <一些参数>
cat your_diff_file | sed '/^[+-]/!D'
egrep "^[+-]" difffile >outputfile
不要删除所有不匹配的内容,只显示匹配的行。 :)
grep ^[^+-]
- Dennis Williamson%!grep -Ev '^[+-]'
它是否可以在当前文件中进行内联,并且对于大文件而言比:v
要快得多。
在Vim 7.4,Ubuntu 14.04,1M行日志文件上进行了测试。
diff -c 0 -u 0
。 - JSBձոգչ