我可以使用git diff
命令获取文件差异,并将其过滤如下:
- 该文件夹包含常用的数据库脚本。
+该文件夹包含常用的数据库脚本。
+
+
+
+添加新行。
但是我希望能够只得到差异,即New Line added.
我怎样才能实现这一点 - 请注意,这里我想删除一对包含的行
'+This folder contains common database scripts.'
和
'-This folder contains common database scripts.'
并删除空格(三个“+”行)
答案1
尝试这个:
如果+New Line added.
是输出的最后一行git diff
:
git diff | tail -1 | tr -d '\n'
如果你想摆脱+
git diff | tail -1 | sed -e 's/^+//' | tr -d '\n'
答案2
使用正则表达式;
echo "-This folder contains common database scripts.
+This folder contains common database scripts.
+
+
+
+New Line added" \
| grep -Pv "^[+-]$" \
| perl -p0e 's/-.*(.{9}).*\n\+.*\1.*//g'