Я пытаюсь найти специальный символ, используя команду CMD:Как я могу получить символ «...» в findstr в cmd?
findstr /s /i <special_character> *.*
Персонаж Я хочу найти это …
То есть, три точки все сжаты в один символ.
Как это сделать?
Я пытаюсь найти специальный символ, используя команду CMD:Как я могу получить символ «...» в findstr в cmd?
findstr /s /i <special_character> *.*
Персонаж Я хочу найти это …
То есть, три точки все сжаты в один символ.
Как это сделать?
Если символьная кодировка текстового файла представляет собой проприетарную кодовую страницу Microsoft Windows 1252 (английский и западная Европа), вы можете использовать FINDSTR.EXE
.
Эллипсис в кодировке 1252 находится в 0x85. Чтобы ввести символ в командной строке с использованием кодовой страницы 437, вы удерживаете клавишу Alt при вводе десятичного значения 0x85. Это десятичное значение равно 133.
Введите следующий текст в Блокнот, скопировав и вставив или удерживая клавишу Alt при вводе на цифровой клавиатуре 0133. Сохраните это как myscript.bat
.
findstr /L "…" myfile.txt
cmd
Из оболочки, введите TYPE myscript.bat
. Он появится, как показано ниже. Это связано с тем, что 133 в кодовой странице 1252 является символом ГОРИЗОНТАЛЬНОГО ЭЛЛИПСИС, но в кодовой странице 437 это ЛАТИНСКОЕ МАЛОЕ ПИСЬМО A С GRAVE.
findstr /L "à" myfile.txt
Используйте команду chcp
, чтобы увидеть кодовую в настоящее время используется в cmd
оболочки.
Когда myscript.bat
запускается из cmd
оболочки, характер у 0x85 элемент кода будет выглядеть как латинская буква А с тяжёлыми, потому что он находится в кодовой странице 437.
chcp показывал 437, но когда я держу alt и type «133» ничего не происходит. – bigcodeszzer
То есть, он просто вводится как буквальный номер 133 – bigcodeszzer
Откройте «Блокнот» и удерживайте клавишу «Alt» и введите 133 на клавиатуре. – lit
этот символ называется [Многоточие] (https: // ан .wikipedia.org/wiki/Ellipsis) и является [символом Юникода] (http://www.fileformat.info/info/unicode/char/2026/index.htm). Извините, но 'findst' [не может справиться с этим] (http://stackoverflow.com/a/15280875/2152082). – Stephan
Есть ли другой способ его поиска? Или для самого шестнадцатеричного кода? – bigcodeszzer
в Юникоде каждый символ кодируется в два байта. Для эллипсиса это «0x20 0x26», к счастью, это два символа ASCII для печати (пробел и '&', поэтому поиск с 'find '&' или 'findstr/c:' &' должен делать. Можете дать ложные срабатывания, когда используется в файле ASCII. – Stephan