我正在尝试使用unix sed命令查找与特定正则表达式匹配的行号。我的文件格式在
之下Murali : 20 #
Krishna: 21 $
Hari: 22 @
Murali : 23 #
我需要使用SED
命令
20
21
22
23
您能否帮助我使用SED
的正则表达式。
答案 0 :(得分:0)
怎么样
$ cat input
Murali : 20 #
Krishna: 21 $
Hari: 22 @
Murali : 23 #
$ sed -r 's/^[^0-9]+([0-9]+).*/\1/g' input
20
21
22
23
[^0-9]+
匹配除数字
([0-9]+)
匹配在第1组中捕获的数字
.*
与其他
答案 1 :(得分:0)
您还可以参考awk
版本
awk -F":" '{print $2--}'
输出
20
21
22
23
答案 2 :(得分:0)
这是awk
。理解它可能比正则表达式sed
解决方案更简单,
awk '{print $(NF-1)}' file
20
21
22
23
打印倒数第二个字段。