当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]用grep命令统计包含有规定字符的行数
帖子发表于 : 2008-04-28 15:05 

注册: 2006-11-09 21:06
帖子: 59
地址: 深圳
送出感谢: 0 次
接收感谢: 0 次
小菜我写一个脚本,用来判断IP地址数据中是否含有非法数据:0-9和.为合法数据(如192.168.1.1),而其他字符则为非法数据。而小菜我的想法是用grep语句判断:统计不含[0-9] && . 字符的行数,如果行数为0则为合法字符,如果大于0则为非法字符,可是我查了半天grep的资料都不晓得怎么写………………
只知道像这样:db_ip_jud="$(echo "$db_ip" | grep -v -c [[:digit:]])"可是 . 符号没包括在里面
请各位大侠帮帮忙 :oops: :oops: :oops: :oops: :oops:


最后由 mgqw 编辑于 2008-04-28 16:55,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-04-28 15:49 
头像

注册: 2005-07-02 14:41
帖子: 4133
系统: Ubuntu 14.04 (Kylin)
送出感谢: 53
接收感谢: 11
看不懂。

建议man grep。grep的man写得还可以。


_________________
https://weakish.github.io


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-04-28 16:54 

注册: 2006-11-09 21:06
帖子: 59
地址: 深圳
送出感谢: 0 次
接收感谢: 0 次
我看了好半天man grep了就是没有找到,这样说简单点吧:
有个参数:$data
我要用grep命令统计$data参数里面含有数字和“ . ”符号的行数,如果$data只含有数字和“ . ”符号的话grep命令统计行数结果返回1行,如果有其他字符(比如字母,除 . 之外的其他符号)就返回0行,因为$data变量本身数据只有一行.


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-04-28 19:52 

注册: 2006-01-18 15:01
帖子: 1074
送出感谢: 0 次
接收感谢: 1
echo $data |grep -c -P '^[0-9.]*$'
空行也算合法行,不算的话把*换成+
如果确认只要IP的话可以用 echo $data |grep -c -P '^ ((([01]?[0-9])?[0-9]|2([0-4][0-9]|5[0-5]))\.){3}(([01]?[0-9])?[0-9]|2([0-4][0-9]|5[0-5]))$ '
一行一个IP


最后由 xiechy 编辑于 2008-04-28 20:15,总共编辑了 2 次

页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-04-28 20:10 

注册: 2006-07-09 12:22
帖子: 1331
地址: 南京
送出感谢: 0 次
接收感谢: 1
echo $line | grep -v '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'

楼主表述不清,一会儿参数,一会儿变量,一会儿数据的...


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-04-28 22:12 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
我给你一思路。
找特定数据的重复程度入手。

cat xxx|grep xxxxxxyyyyy|sort|uniq -cd|sort -n

理解下,应该有些方面你会用到。


_________________
● 鸣学


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-04-29 8:44 

注册: 2006-11-09 21:06
帖子: 59
地址: 深圳
送出感谢: 0 次
接收感谢: 0 次
aBiNg 写道:
echo $line | grep -v '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'

楼主表述不清,一会儿参数,一会儿变量,一会儿数据的...


表达能力不怎么样不好意思 :oops: :oops:

就是对一行字符串进行判断, :oops: :oops:

谢谢各位大侠的帮助,小弟感激不尽 :lol: :lol: :lol:


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译