git diff
コマンドを使用してファイルdiffをインポートし、次のようにフィルタリングできます。
- このフォルダには一般的に使用されるデータベーススクリプトが含まれています。
+ このフォルダには一般的に使用されるデータベーススクリプトが含まれています。
+
+
+
+新しい行を追加します。
しかし、違いだけが得られるようにしたいです。つまり、New Line added.
これをどのように達成できますか?ここでは、以下を含む一対の行を削除したいと思います。
'+This folder contains common database scripts.'
そして
'-This folder contains common database scripts.'
スペースを削除します(3つの「+」行)。
答え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'
オンラインでお試しください http://tpcg.io/hb9xSY