Как удалить префикс из строки в Bash?Bash заменить префикс пробелами
Например:
STRING1="My name is James"
echo "${STRING1}"
# My name is James
NAME="${STRING1#???}"
echo "${NAME}"
# James
Как удалить префикс из строки в Bash?Bash заменить префикс пробелами
Например:
STRING1="My name is James"
echo "${STRING1}"
# My name is James
NAME="${STRING1#???}"
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
Лучше написано как '" $ {string1/# Мое имя /} "': не нужно '//', и поскольку вопрос задает _prefix, _ лучше привязывайте его к '#'. –
Чтобы сделать это, вы должны экранировать специальные символы в строке префикса.
NAME="${STRING1#My\ name\ is\ }"
echo "${NAME}"
# James
То же самое с достаточным количеством.
О чем ты говоришь? почему вам нужно «убегать от специальных символов»? что произойдет, если вы этого не сделаете? –
@gniourf_gniourf hm .. действительно. Я потратил около 30 минут на то, чтобы выяснить, почему «$ {STRING1 # My name is}» не работает. Поэтому лучше удалить вопрос. –
@AndriiAbramov: Если у вас все еще есть проблема, не стесняйтесь публиковать его как правильный вопрос с необходимыми подробностями ввода и вывода проб. – Inian
Что ваш вопрос? выглядит как сеанс Q/A внутри себя – Inian
@Inian Существует возможность обмена знаниями. https://stackoverflow.blog/2011/07/its-ok-to-ask-and-answer-your-own-questions/ –
Это прекрасно, его просто недостаточно подробное из того, что вы пытаетесь сделать, и как вы его решили, может быть, стоит добавить немного больше объяснений? Я не проголосовал за BTW – Inian