Переменные bash: различия между версиями
Дым (обсуждение | вклад) Нет описания правки |
Дым (обсуждение | вклад) Нет описания правки |
||
Строка 9: | Строка 9: | ||
|Удаление ''кратчайшего'' куска, совпадающего с образцом '''в начале''' строки. | |Удаление ''кратчайшего'' куска, совпадающего с образцом '''в начале''' строки. | ||
|<code>"${url#*/}"</code> | |<code>"${url#*/}"</code> | ||
|style="text-align:center"|<s>https:/</s>/guide.bash.academy/variables.html<br/>↓<br/>/guide.bash.academy/variables.html | |style="text-align:center"|<s>https:/</s>/guide.bash.academy/variables.html | ||
<br/>↓<br/> | |||
/guide.bash.academy/variables.html | |||
|- | |- | ||
|<code>${переменная##образец}</code> | |<code>${переменная##образец}</code> | ||
|Удаление ''длиннейшего'' куска, совпадающего с образцом '''в начале''' строки. | |Удаление ''длиннейшего'' куска, совпадающего с образцом '''в начале''' строки. | ||
|<code>"${url##*/}"</code> | |<code>"${url##*/}"</code> | ||
|style="text-align:center"|<s>https://guide.bash.academy/</s>variables.html<br/>↓<br/>variables.html | |style="text-align:center"|<s>https://guide.bash.academy/</s>variables.html | ||
<br/>↓<br/> | |||
variables.html | |||
|- | |- | ||
|<code>${переменная%образец}</code> | |<code>${переменная%образец}</code> | ||
|Удаление ''кратчайшего'' куска, совпадающего с образцом '''в конце''' строки. | |Удаление ''кратчайшего'' куска, совпадающего с образцом '''в конце''' строки. | ||
|<code>"${url%/*}"</code> | |<code>"${url%/*}"</code> | ||
|style="text-align:center"|https://guide.bash.academy<s>/variables.html</s><br/>↓<br/>https://guide.bash.academy | |style="text-align:center"|https://guide.bash.academy<s>/variables.html</s> | ||
<br/>↓<br/> | |||
https://guide.bash.academy | |||
|- | |- | ||
|<code>${переменная%%образец}</code> | |<code>${переменная%%образец}</code> | ||
|Удаление ''длиннейшего'' куска, совпадающего с образцом '''в конце''' строки. | |Удаление ''длиннейшего'' куска, совпадающего с образцом '''в конце''' строки. | ||
|<code>"${url%%/*}"</code> | |<code>"${url%%/*}"</code> | ||
|style="text-align:center"|https:<s>//guide.bash.academy/variables.html</s><br/>↓<br/>https: | |style="text-align:center"|https:<s>//guide.bash.academy/variables.html</s> | ||
<br/>↓<br/> | |||
https: | |||
|- | |||
|<code>${переменная/образец/заменитель}</code> | |||
|Замена ''первого'' вхождения, совпадающего с образцом. | |||
|<code>"${url/./-}"</code> | |||
|style="text-align:center"|https://guide<s>.</s>bash.academy/variables.html | |||
<br/>↓<br/> | |||
https://guide-bash.academy/variables.html | |||
|- | |||
|<code>${переменная//образец/заменитель}</code> | |||
|Замена ''каждого'' вхождения, совпадающего с образцом. | |||
|<code>"${url//./-}"</code> | |||
|style="text-align:center"|https://guide<s>.</s>bash<s>.</s>academy/variables<s>.</s>html | |||
<br/>↓<br/> | |||
https://guide-bash-academy/variables-html | |||
|} | |} | ||
{{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}} | ||
[[Категория:Admin]] | [[Категория:Admin]] |
Версия от 05:51, 16 марта 2022
Всякий раз вспоминая, как можно выудить часть bash-переменной без разбиения её вызовом команд, гуглил что-то вроде этой статьи. Чтобы в дальнейшем искать не приходилось, решил перевести сюда тот самый блок, ради которого всё затевалось.
Оператор | Действие | Пример | Результат |
---|---|---|---|
${переменная#образец}
|
Удаление кратчайшего куска, совпадающего с образцом в начале строки. | "${url#*/}"
|
|
${переменная##образец}
|
Удаление длиннейшего куска, совпадающего с образцом в начале строки. | "${url##*/}"
|
|
${переменная%образец}
|
Удаление кратчайшего куска, совпадающего с образцом в конце строки. | "${url%/*}"
|
https://guide.bash.academy |
${переменная%%образец}
|
Удаление длиннейшего куска, совпадающего с образцом в конце строки. | "${url%%/*}"
|
https:
|
${переменная/образец/заменитель}
|
Замена первого вхождения, совпадающего с образцом. | "${url/./-}"
|
https://guide |
${переменная//образец/заменитель}
|
Замена каждого вхождения, совпадающего с образцом. | "${url//./-}"
|
https://guide |