![foo/bar/baz -> bar/baz 변경과 같이 파일 경로 문자열을 조작하기 위해 특별히 설계된 명령이 있습니까?](https://linux55.com/image/151584/foo%2Fbar%2Fbaz%20-%26gt%3B%20bar%2Fbaz%20%EB%B3%80%EA%B2%BD%EA%B3%BC%20%EA%B0%99%EC%9D%B4%20%ED%8C%8C%EC%9D%BC%20%EA%B2%BD%EB%A1%9C%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84%20%EC%A1%B0%EC%9E%91%ED%95%98%EA%B8%B0%20%EC%9C%84%ED%95%B4%20%ED%8A%B9%EB%B3%84%ED%9E%88%20%EC%84%A4%EA%B3%84%EB%90%9C%20%EB%AA%85%EB%A0%B9%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
git diff --name-only
현재 디렉터리의 상대 경로만 포함하도록 git 프로젝트 하위 디렉터리의 출력을 수정하려고 합니다 . sed
/do this 를 사용하는 방법을 알고 있지만 다음 grep
을 통해 파일 경로 문자열을 조작하도록 특별히 설계된 cli 명령이 있는지 궁금합니다.
- 제거하다N경로의 시작 부분부터 시작하는 부분:
/foo/bar/baz
->bar/baz
- 제거하다N경로 끝에서 시작하는 부분:
/foo/bar/baz
->/foo/bar/
- 두 경로를 비교하고 현재 경로를 기준으로 경로를 만듭니다.
foo/bar/baz
foo/qux
-> 에 상대적../bar/baz
- (선택 사항) 경로에서 마지막 부분을 제외한 모든 항목을 제거합니다(
basename
다음을 수행)./foo/bar/baz.ex
->baz.ex
- (선택 사항) 경로에서 마지막 부분만 제거합니다(
dirname
이렇게 하십시오):foo/…/bar/baz.ex
->foo/…/bar/