蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 应用编程


    

蓝森林 http://www.lslnet.com 2006年6月26日 11:18


问个简单的正则

test1:

aaaaaaaaaa
1111111111
aaaaa11111


命令 cat test1 |awk '/[0-9]/ {print $0}'
1111111111
aaaaa11111

命令 cat test1 |awk '/[a-z]/ {print $0}'
aaaaaaaaaa
aaaaa11111

那么什么命令是只匹配数字或只匹配字母的(也就是不会出现aaaaa11111)?

只匹配数字:

[code]awk '$0~/^[0-9]+$/' file[/code]

只匹配字母:

[code]awk '$0~/^[a-zA-Z]+$/' file[/code]

cat test1 |awk '/^[0-9]/ {print $0}'
这个应该就可以。
cat test1 |awk '/![0-9]/ {print $0}'
cat test1 |awk '/![a-z]/ {print $0}'


搞定了....
cat test3 |awk '/^[a-z]+$/ {print $0}'

我应该多看看+ 和 * 的用法,惭愧....

-->

sorry 上边的这些不对  第一个是指 数字打头的文件
第2,3个查不出来东西  (刨除拼写错误)

all number:

[code]sed -n '/^ *[0-9][0-9]* *$/p' file[/code]

all character:


[code]sed -n '/^ *[a-zA-Z][a-zA-Z]* *$/p' file[/code]

-->


这2个正则表达式是不行的..

why?:roll::roll:

cat test1 |awk '/![0-9]/ {rpint $0}'
cat test1 |awk '/![a-z]/ {rpint $0}'
是个拼写错误.看rpint!!!

-->

请问rpint是什么函数? :oops:而且您的这两个确实查不出东西来 应该不是一个简单的!就可以的....

-->

你测试过没?

:)

-->


对你的正则表达式我看的不是很懂。:(


[code]匹配数字
/^[[:digit:]]\{1,\}$/
or
/^[[:digit:]]\+$/
匹配字符
/^[[:alpha:]]\{1,\}$/
or
/^[[alpha:]]\+$/[/code]



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com