如何使用VI命令从下面文件中提取数字。

-----------
4

(1 row affected)

-----------
4

(1 row affected)

-----------
3

(1 row affected)

-----------
2

(1 row affected)

-----------
我只想得到下述数字
4
4
3
2

---------------------------------------------------------------

直接用shell就可以搞定:

如果以上文件名为 a.txt,则用以下命令试试:

cat a.txt ¦ grep '^[\t ]*[0-9]'

grep后的正则表达式意思如下:

^[\t ]表示当前行用 tab 或空格开头,方括弧括起表示可以是 \t(即tab)也可以是空格。

*表示[\t ]的数量是任意多个。

[0-9]表示0-9的数字。

因此整个正则表达式意思是:

以任意多个tab键或空格键开头,在tab或空格键后就是数字的行。

如果还要更精确,可以如下

grep '^[\t ][0-9]$'

最后的$表示行结束了。

Published At
Categories with 服务器类
comments powered by Disqus