Shell-Script
使用 shell 命令過濾以下文本
我可以使用
git diff
命令獲取文件差異,並對其進行過濾,如下所示:-此文件夾包含常見的數據庫腳本。
+此文件夾包含常用的數據庫腳本。
+添加了新行。
但是,我希望能夠僅獲得差異,即
New Line added.
我如何才能實現這一點 - 請注意,在這裡我想刪除一對包含
'+This folder contains common database scripts.'
和
'-This folder contains common database scripts.'
並刪除空格(三個“+”行)
試試這個:
如果
+New Line added.
是輸出的最後一行git diff
:
git diff | tail -1 | tr -d '\n'
如果你想擺脫
+
git diff | tail -1 | sed -e 's/^+//' | tr -d '\n'
使用正則表達式;
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'