我需要提取一行中可能出现的序列号。序列号始终具有以下正则表达式格式:
S[XN]00-[0-9]{3}
输出:
SX00-123
我只想echo
这个。我可以grep
序列号,并考虑使用正则表达式但不确定如何。
答案 0 :(得分:5)
您可以尝试grep
,
grep -oE 'S[XN]00-[0-9]{3}' file
来自grep --help
,
-E, --extended-regexp PATTERN is an extended regular expression (ERE)
-o, --only-matching show only the part of a line matching PATTERN
示例:强>
$ cat test.txt
randomtextSX00-456
SX00-164randomtext
randomtextSX00-184randomtext
SX00-986
randomtext
$ grep -oE 'S[XN]00-[0-9]{3}' test.txt
SX00-456
SX00-164
SX00-184
SX00-986