Bash 用空格替换前缀
Bash replace prefix with spaces
如何从 Bash 中的字符串中删除前缀?
例如:
STRING1="My name is James"
echo "${STRING1}"
# My name is James
NAME="${STRING1#???}"
echo "${NAME}"
# James
为此,您必须转义前缀字符串中的特殊符号。
NAME="${STRING1#My\ name\ is\ }"
echo "${NAME}"
# James
同样的事情就够了。
备选方案:FOO=${FOO//$WORDTOREMOVE/}
$ STRING1="My name is James"
$ NAME="${STRING1//My name is /}"
$ echo "${NAME}"
James
根据@gniourf_gniourf的建议更新:FOO=${FOO/#$WORDTOREMOVE/}
$ NAME="${STRING1/#My name is /}"
$ echo "${NAME}"
James
如何从 Bash 中的字符串中删除前缀?
例如:
STRING1="My name is James"
echo "${STRING1}"
# My name is James
NAME="${STRING1#???}"
echo "${NAME}"
# James
为此,您必须转义前缀字符串中的特殊符号。
NAME="${STRING1#My\ name\ is\ }"
echo "${NAME}"
# James
同样的事情就够了。
备选方案:FOO=${FOO//$WORDTOREMOVE/}
$ STRING1="My name is James"
$ NAME="${STRING1//My name is /}"
$ echo "${NAME}"
James
根据@gniourf_gniourf的建议更新:FOO=${FOO/#$WORDTOREMOVE/}
$ NAME="${STRING1/#My name is /}"
$ echo "${NAME}"
James