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