2016-11-30 2 views
1

У меня есть несколько строк, как этаCMD Findstr - линия, начиная с 13 цифр

1480438326593 addons.xpi-utils DEBUG shutdown 

, и я хочу, чтобы разобрать их FINDSTR функции из окна CMD.

Моя проблема теперь в том, что аргументы не работают или, вероятно, я делаю это неправильно, но это должно сработать.

Я использую эту команду findstr /V /R ^\d{13}, которая должна использовать регулярное выражение и находить любую цифру 13 раз в начале строки.

findstr /V /R ^\d Это действительно работает, если оно начинается с цифры, но {13} не работает - любая помощь?

ответ

3

Для возврата строки, которые начинаются с 13 цифр использовать

findstr /r ^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] 

Если вы хотите потерпеть неудачу (не совпадает) случаи, когда 13 цифр следует с большим количеством цифр (т.е. не совпадает 123456789more text линии), добавьте \> (конечная граница слова) в конце.

findstr utility не поддерживает надлежащее регулярное выражение, только некоторые подстановочные знаки, поэтому, нет limiting quantifier (т.е. {min,max}) поддержки, ни сокращенные классы символов, как \d.

Вот таблица шаблонов findstr поддерживает:

┌───────────┬─────────────────────────────────────────────────────────────────┐ 
│ Character │ Value               │ 
├───────────┼─────────────────────────────────────────────────────────────────┤ 
│ .  │ Wildcard: any character           │ 
│ *  │ Repeat: zero or more occurrences of previous character or class │ 
│ ^ │ Line position: beginning of line        │ 
│ $  │ Line position: end of line          │ 
│ [class] │ Character class: any one character in set      │ 
│ [^class] │ Inverse class: any one character not in set      │ 
│ [x-y] │ Range: any characters within the specified range    │ 
│ \x  │ Escape: literal use of metacharacter x       │ 
│ \<xyz │ Word position: beginning of word        │ 
│ xyz\> │ Word position: end of word          │ 
└───────────┴─────────────────────────────────────────────────────────────────┘ 

Обратите внимание, что добавление \v опции обратного результата: вы получите все строки, которые не начинаются с 13 цифр.

+1

ouch ... хорошо спасибо за ответ –