쉘 명령을 사용하여 다음 텍스트를 필터링하십시오.

쉘 명령을 사용하여 다음 텍스트를 필터링하십시오.

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

관련 정보