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"}"