string-escape - экранирование специальных символов
Синопсис
string escape [-n | --no-quoted] [--style=] [STRING ...] string unescape [--style=] [STRING ...]
Описание
string escape экранирует каждый СТРОКУ одним из трёх способов. Первый — --style=script. Это значение по умолчанию. Оно изменяет строку так, чтобы её можно было передать обратно eval для восстановления исходного аргумента. По умолчанию все специальные символы экранируются, а кавычки используются для упрощения вывода, когда это возможно. Если задано -n или --no-quoted, упрощающий формат с кавычками не используется. Код возврата: 0, если по крайней мере одна строка была экранирована, или 1 в противном случае.
--style=var гарантирует, что строка может быть использована в качестве имени переменной, кодируя в шестнадцатеричном формате любые небуквенно-цифровые символы. Строка сначала преобразуется в UTF-8 перед кодированием.
--style=url гарантирует, что строка может быть использована в качестве URL, кодируя в шестнадцатеричном формате любой символ, который не разрешён в URL. Строка сначала преобразуется в UTF-8 перед кодированием.
--style=regex экранирует входную строку для буквального сопоставления в выражении регулярного выражения. Строка сначала преобразуется в UTF-8 перед кодированием.
string unescape выполняет обратную операцию команды string escape. Если строка для экранирования не отформатирована должным образом, она игнорируется. Например, выполнение string unescape --style=var (string escape --style=var $str) вернёт исходную строку. Поддержка экранирования --style=regex отсутствует.
Примеры
>_ echo \x07 | string escape \cg >_ string escape --style=var 'a1 b2'\u6161 a1_20_b2_E6_85_A1_
© 2005-2009 Axel Liljencrantz, 2009-2023 fish-shell contributors
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.6/cmds/string-escape.html