Grep список для текста с 2 цифрами и 2 буквами

У меня есть список номеров HEX от 0000 до FFFF.

Я пытаюсь разобрать список, чтобы он включал в себя только текст с 2 цифрами 0-9 и 2 буквами A-F, но мне не повезло. Я пытался egrep -v [0-9]{3} и выводил результаты в файл, думая, что найдет любую запись без 3 чисел, а затем взял этот файл и выполнил egrep -v [0-9]{4} против выхода из предыдущей команды, но это не работает, так как я до сих пор есть записи с 3 и 4 номерами. Я планировал также запустить egrep -v [A-F]{3} и egrep -v [A-F]{4} для фильтрации остального, но он все еще не работает.

Любые предложения будут с благодарностью.

1
задан 25 May 2013 в 08:28

1 ответ

Создайте файл, подобный следующему

~$ cat Patterns.txt 
[0-9][0-9][A-F][A-F]
[0-9][A-F][0-9][A-F]
[0-9][A-F][A-F][0-9]
[A-F][A-F][0-9][0-9]
[A-F][0-9][A-F][0-9]
[A-F][0-9][0-9][A-F]
~$ 

Это пример ввода

~$ cat HEX.txt 
FFFF
08FF
F0AA
FF08
0F0F
F0F0
~$ 

И это пример вывода

~$ grep -f Patterns.txt HEX.txt 
08FF
FF08
0F0F
F0F0

Объяснение:

В вашем случае может быть только 6 возможных комбинаций

Number, Number, Letter, Letter
Number, Letter, Number, Letter
Number, Letter, Letter, Number
Letter, Letter, Number, Number
Letter, Number, Letter, Number
Letter, Number, Letter, Letter

Мы храним все эти комбинации в Patterns.txt и просим grep использовать эти шаблоны для поиска значений. из HEX.txt

0
ответ дан 25 May 2013 в 08:28

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

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