2016-11-23 3 views
1

git 명령 git log에서 github 커밋 (텍스트)을 전자 메일의 링크로 만들어야합니다. 따라서 수신자는 링크를 클릭하여 변경 사항으로 직접 이동할 수 있습니다. 쉘 스크립트를 사용하여 gitub "git log"의 텍스트를 사전 수정하는 방법

나는 텍스트와 라인이 포함 된 긴 목록이 나타납니다

commit some_long_string_of_hexadecimals

을 나는이 점을 변환해야합니다 내가 수신하고

commit https://github.com/account/repo/commit/some_long_string_of_hexadecimals

로그 N-양을 포함 이 로그의 모든 인스턴스 (some_long_string_of_hexadecimals)에 대해이 작업을 수행하는 스크립트가 필요합니다.

commit a98a897a67896a987698a769786a987a6987697a6 
Author: Some Person <[email protected]> 
Date: Thu Sep 29 09:48:52 2016 +0200 

    long message describing change. 

commit a98a897a67896a987698a769786a987a6987697a6 
Author: Some Person <[email protected]> 
Date: Thu Sep 29 09:48:52 2016 +0200 

    more description 

나는 그것을 같이하고 싶습니다 :

commit https://github.com/account/repo/commit/a98a897a67896a987698a769786a987a6987697a6 
Author: Some Person <[email protected]> 
Date: Thu Sep 29 09:48:52 2016 +0200 

    added handling of running tests from within a docker container 

가 어떻게 쉘 명령을 사용하여이를 않습니다 여기

몇 가지 예를 로그 문입니까?

미리 감사드립니다.

+0

당신이 갖고있는 것과 당신이 그것을 변환해야하는 것에 대한 구체적인 예를 보는 것이 좋을 것입니다. –

+0

정말 에코 $ (자식 로그) >> logfile.txt – CodeMonkey

답변

1
awk '$1 == "commit" {$2 = "https://github.com/account/repo/commit/" $2} 1' 
  1. 체크 필드 1과 같으면 라인이 유사한 경우

  2. 같이,

  3. 그렇다면 앞에 추가 2

  4. 피사계하는 인쇄 변형 라인 다른 인쇄 라인 "커밋"

+0

우수합니다. 고마워. – CodeMonkey