Bash에는 변수가 있습니다.
LOCAL_PATH="/this/is/a/path/"
그런 다음 내용이 LOCAL_PATH로 시작하는 또 다른 변수가 있는데 삭제해야 합니다.
LINE="/this/is/a/path/which/is/longer"
결과는 다음과 같습니다.
RESULT="which/is/longer"
Bash를 사용하여 문자열 조작을 시도했습니다.
RESULT=$(echo "${LINE//\/this\/is\/a\/path\/}")
하지만 위 표현식에서 하드코딩된 경로를 방지하려면 LOCAL_PATH 변수를 어떻게 포함해야 할까요?
답변1
LOCAL_PATH
패턴 부분에 다음 을 포함하면 됩니다 .
printf '%s\n' "${LINE//"$LOCAL_PATH"/}"
LINE
POSIXly가 항상 다음으로 시작하는 경우 LOCAL_PATH
:
printf '%s\n' "${LINE#"$LOCAL_PATH"}"