Я провел пару недель, сравнивая некоторые дистрибутивы linux, такие как
И у меня установлен Elivecd, потому что полная поддержка аппаратного обеспечения mac, т.е. WiFi чипсета, и elive работает довольно бегло.
Использование расширенного регулярного выражения:
$ grep -E '[[:alnum:]_]+[[:digit:]]+(\[[^]]+\])?\.knownKeyWord' <file
anything1.knownKeyWord
anything2.knownKeyWord
anything3[1].knownKeyWord
Это позволит извлечь любую строку, содержащую строку в формате
XXXNNN[YYY].knownKeyWord
или
XXXNNN.knownKeyWord
где XXX
— любая не-пустая буквенно-цифровая строка (, которая может также включать _
), NNN
— любая строка из (одной или нескольких )цифр, а YYY
— ничего, кроме ]
.
Используйте grep
с -x
, если совпадения должны быть полными строками . Используйте -w
, если совпадения должны быть полными слов (, то есть не как подстрока чего-то другого ).
Простое использование sed
, чтобы показать, чему соответствует каждая часть регулярного выражения:
$ sed -E 's/([[:alnum:]_]+)([[:digit:]]+)(\[[^]]+\])?(\.knownKeyWord)/<\1><\2><\3><\4>/' <file
<anything><1><><.knownKeyWord>
<anything><2><><.knownKeyWord>
<anything><3><[1]><.knownKeyWord>