Найти юникод по его коду через grep

Как найти символ по коду Unicode?

Например, попробуйте найти пробел ('\ u20' или '\ u0020') во второй строке:

echo -e "u20\n \nfoo" |grep "\u20" - найден литерал u20, а не пробел.

echo -e "x20\n \nfoo" |grep -P "\x20" - работа. Но не подходит для меня, потому что -P не работает с '\ u'.

0
задан 9 July 2019 в 04:59

2 ответа

Это обходное решение решает Вашу проблему? В ударе:

$ export myvar='\u20'
$ echo $myvar
\u20
$ echo -e "u20\n \nfoo" | grep -P `sed 's/\\u/\\x/' <<<$myvar`

$ echo $myvar
\u20

sed инструкция заменяет \u с \x $myvar, не изменяя значение самой переменной среды.

0
ответ дан 24 October 2019 в 01:19

Решение: grep "$(printf %b '\u20')"

Как: echo -e "u20\n \nfoo" | grep "$(printf %b '\u20')"

0
ответ дан 24 October 2019 в 01:19

Другие вопросы по тегам:

Похожие вопросы: