AltO открывает каталог, Ваш курсор идет.
AltI открывает каталог активной панели на другой панели.
Протестированный на MC 4.7
Если выход оболочки достаточно, можно использовать $'\xHH'
синтаксис как это:
grep -v "<["$'\x09\x00'"-"$'\x09\x7F'"]*\s"
Это достаточно для Вашего варианта использования?
Посмотрите на этот вопрос.
Текст обычно кодируется в UTF-8; таким образом, необходимо использовать шестнадцатеричные долины байтов, используемых в кодировании utf-8.
grep "["$'\xe0\xa4\x85'"-"$'\xe0\xa4\xb5'"]"
и
grep '[अ-व]'
эквивалентны, и они выполняют основанное на локали соответствие (то есть, соответствие зависит от правил сортировки сценария деванагари (то есть, соответствие НЕ является "никаким символом между \u0905 и \0935", но вместо этого "ничто сортирующее между деванагари A и деванагари ВА"; могут быть различия.
С другой стороны, у Вас есть это (отметьте-P):
grep -P "\xe0\xa4[\x85-\xb5]"
это сделает двоичное соответствие тем значениям байта.
мы хотели преобразовать неASCII открытая двойная кавычка и закрыть двойную кавычку к регулярным двойным кавычкам ("). Также одинарная кавычка неASCII к регулярной одинарной кавычке (').
видеть их в файле (оболочка удара человечности):
$ grep -P "\x92" infile.txt (single)
$ grep -P "\x93" infile.txt (open double)
$ grep -P "\x94" infile.txt (close double)
переведите их:
$ /bin/sed "s/\x92/'/g" a.txt > b.txt
$ /bin/sed 's/\x93/"/g' b.txt > c.txt
$ /bin/sed 's/\x94/"/g' c.txt > d.txt
"Шестнадцатеричное" значение 0x0900
, которое вы написали, является в точности значением кодовой точки UNICODE, которая также находится в шестнадцатеричном формате.
шестнадцатеричный код 0900 (вместо अ)
Я считаю, что вы имеете в виду шестнадцатеричный код UNICODE: U0905
.
Персонаж в U-0900 не тот, который вы использовали: अ
.
Этот символ - U0905 , часть этой страницы Unicode или перечисленный на этой странице .
В bash
(установлен по умолчанию в Ubuntu) или непосредственно с программой по адресу: / usr / bin / printf
(но не с sh
printf ), символ Unicode может быть создан с помощью:
$ printf '\u0905'
अ
$ /usr/bin/printf '\u0905'
अ
Однако этот символ, который происходит из номера кодовой точки, может быть представлен несколькими потоками байтов в зависимости от того, какая кодовая страница используется.
Должно быть очевидно, что \ U0905
- это 0x09 0x05
в UTF-16 (UCS-2 и т. Д.)
и 0x00 0x00 0x09 0x05
в UTF-32.
Это может быть неочевидно, но в utf-8 это представлено как 0xe0 0xa4 0x85
:
$ /usr/bin/printf '\u0905' | od -vAn -tx1
e0 a4 85
Если локаль вашей консоли похожа на en_US. UTF-8
.
И я говорю о оболочке, потому что она преобразует строку в то, что получает приложение. Это:
grep "$(printf '\u0905')" file
заставляет grep «видеть» нужный вам символ.
Чтобы понять строку выше, вы можете использовать echo:
$ echo grep "$(printf '\u0905')" file
grep अ file
Затем мы можем построить диапазон символов по вашему запросу:
$ echo grep "$(printf '[\u0905-\u097f]')" file
grep [अ-ॿ] file
Это ответ на ваш вопрос:
Как я могу использовать шестнадцатеричный код вместо अ и व?
echo 'अ-व' | hd
дает мнеe0 a4 85 - e0 a4 b5
– enzotib 26.08.2011, 17:30grep
не связан ни с каким lib, я предполагаю, что не возможно иметь преобразование диапазона быть выполненным grep :-/ – Stéphane Gimenez 26.08.2011, 17:48zsh
может интерпретировать"\u0900"
и"\u097F"
, но поведение будет полагаться на UTF-8 закодированный диапазон, являющийся непрерывным (вероятно, это). – Stéphane Gimenez 26.08.2011, 17:49