string-escape - экранирование специальных символов в строках
Синопсис
string escape [(-n | --no-quoted)] [--style=xxx] [STRING...] string unescape [--style=xxx] [STRING...]
Описание
string escape экранирует каждую строку STRING одним из трёх способов. Первый способ --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_
© 2021 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.3/cmds/string-escape.html