Переменные bash: различия между версиями
Дым (обсуждение | вклад) Нет описания правки |
Дым (обсуждение | вклад) Нет описания правки |
||
Строка 85: | Строка 85: | ||
|- | |- | ||
|…регистра: | |…регистра: | ||
*только для '''первого''' символа | *только для '''первого''' символа | ||
*либо для '''всех''' символов (из шаблона или '''вообще''') | *либо для '''всех''' символов (из шаблона или '''вообще''') | ||
|<pre>${переменная[^|,][^^|,,[шаблон]]}</pre> | |||
|<code>"${url^^<span style="background-color:yellow">[ht]</span>}"</code> | |<code>"${url^^<span style="background-color:yellow">[ht]</span>}"</code> | ||
|style="text-align:center"|<span style="background-color:yellow">htt</span>ps://guide.bas<span style="background-color:yellow">h</span>.academy/variables.<span style="background-color:yellow">ht</span>ml | |style="text-align:center"|<span style="background-color:yellow">htt</span>ps://guide.bas<span style="background-color:yellow">h</span>.academy/variables.<span style="background-color:yellow">ht</span>ml |
Версия от 03:19, 19 марта 2022
Всякий раз вспоминая, как можно выудить часть bash-переменной без разбиения её вызовом команд, гуглил что-то вроде этой статьи. Дабы больше не искать, решил перевести сюда тот самый блок, ради которого всё затевалось.
Описание | Оператор | Пример | Результат | |
---|---|---|---|---|
Длина | Число символов в переменной | ${#переменная} |
"${#url}"
|
https://guide.bash.academy/variables.html
↓ |
Удаление… | …всех символов кроме части заданной длины от символа:
|
${переменная:начало[:длина]} ${переменная: -конец[:длина]} |
"${url: -33:5}}"
|
↓ |
…кратчайшего совпадения с шаблоном в начале строки | ${переменная#шаблон} |
"${url#*/}"
|
↓ | |
…длиннейшего совпадения с шаблоном в начале строки | ${переменная##шаблон} |
"${url##*/}"
|
↓ | |
…кратчайшего совпадения с шаблоном в конце строки | ${переменная%шаблон} |
"${url%/*}"
|
https://guide.bash.academy | |
…длиннейшего совпадения с шаблоном в конце строки | ${переменная%%шаблон} |
"${url%%/*}"
|
https: ↓ | |
Замена… | …первого совпадения с шаблоном | ${переменная/шаблон/заменитель} |
"${url/./-}"
|
https://guide.bash.academy/variables.html
↓ |
…каждого совпадения с шаблоном | ${переменная//шаблон/заменитель} |
"${url//./-}"
|
https://guide.bash.academy/variables.html
↓ | |
…шаблона в начале строки | ${переменная/#шаблон/заменитель} |
"${url/#*:/ftp:}"
|
https://guide.bash.academy/variables.html
↓ | |
…шаблона в конце строки | ${переменная/%шаблон/заменитель} |
"${url/%.html/.jpg}"
|
https://guide.bash.academy/variables.html | |
…регистра:
|
${переменная[^|,][^^|,,[шаблон]]} |
"${url^^[ht]}"
|
https://guide.bash.academy/variables.html
↓ |