Remove uma parte de um caminho de um conteúdo variável

1

Em um Bash, eu tenho uma variável:

LOCAL_PATH="/this/is/a/path/"

Então eu tenho outra variável, cujo conteúdo começa com LOCAL_PATH e deve ser removido:

LINE="/this/is/a/path/which/is/longer"

O resultado deve ser:

RESULT="which/is/longer"

Eu tentei com a manipulação de String do Bash

RESULT=$(echo "${LINE//\/this\/is\/a\/path\/}")

Mas como posso incluir a variável LOCAL_PATH lá para evitar o caminho codificado na expressão acima?

    
por arothe 10.02.2016 / 16:48

1 resposta

2

Inclua apenas LOCAL_PATH na parte padrão:

printf '%s\n' "${LINE//"$LOCAL_PATH"/}"

Se LINE sempre começar com o conteúdo de LOCAL_PATH , POSIXly:

printf '%s\n' "${LINE#"$LOCAL_PATH"}"
    
por 10.02.2016 / 17:01