foo/bar/baz -> bar/baz 변경과 같이 파일 경로 문자열을 조작하기 위해 특별히 설계된 명령이 있습니까?

foo/bar/baz -> bar/baz 변경과 같이 파일 경로 문자열을 조작하기 위해 특별히 설계된 명령이 있습니까?

git diff --name-only현재 디렉터리의 상대 경로만 포함하도록 git 프로젝트 하위 디렉터리의 출력을 수정하려고 합니다 . sed/do this 를 사용하는 방법을 알고 있지만 다음 grep을 통해 파일 경로 문자열을 조작하도록 특별히 설계된 cli 명령이 있는지 궁금합니다.

  1. 제거하다N경로의 시작 부분부터 시작하는 부분:

    /foo/bar/baz->bar/baz

  2. 제거하다N경로 끝에서 시작하는 부분:

    /foo/bar/baz->/foo/bar/

  3. 두 경로를 비교하고 현재 경로를 기준으로 경로를 만듭니다.

    foo/bar/bazfoo/qux-> 에 상대적../bar/baz

  4. (선택 사항) 경로에서 마지막 부분을 제외한 모든 항목을 제거합니다( basename다음을 수행).

    /foo/bar/baz.ex->baz.ex

  5. (선택 사항) 경로에서 마지막 부분만 제거합니다( dirname이렇게 하십시오):

    foo/…/bar/baz.ex->foo/…/bar/

관련 정보