PYTHONPATH
공통 구문이 있는 변수 를 정리하려고 합니다.
/a/path:/another/path/:/one/more/path
로 시작하는 모든 경로를 제거하고 싶습니다 /mnt
. 먼저 다음을 시도하십시오 sed
.
sed 's,/mnt/[^:]\+:,,g' <<< $PYTHONPATH
/mnt/
콜론을 제외한 하나 이상의 문자 와 그 뒤에 오는 콜론 문자가 뒤에 오는로 시작하는 모든 항목을 제거합니다 .
그러나 다음 예제에서는 실패합니다.
PYTHONPATH="/mnt/first/path:/mnt/second/path"
두 번째 경로는 콜론으로 끝나지 않기 때문입니다. 약간 다른 조건으로 다른 검색을 실행하는 것보다 더 나은 것을 낳을 수 없었습니다.
sed 's,/mnt/[^:]\+:,,g;s,/mnt/.*$,,g' <<< $PYTHONPATH
이제 콜론으로 끝나는 모든 발생이 제거 된 후 다른 실행은 /mnt/
문자열의 끝으로 시작 하고 끝나는 모든 발생을 제거합니다 (사실, 최대 하나) .
질문 :
- 이 작업에 적합한 솔루션입니까?
- 위의 솔루션이 실패하는 특별한 경우가 있습니까?
- 여기서 단일 검색 솔루션이 가능합니까? 그냥 궁금해서
미리 감사드립니다!