文本过滤之——grep,sort,wc,uniq,tr, 精准过滤IP地址,A类地址,B类地址.... 并排序

文本过滤之IP地址精准过滤

在写之前自己整理了一点自己平时老是搞混的东西,最基础的就不写了,前面的东西不想看得一眼代过,就当借着做IP过滤顺便整理下常用的,看看后面如何精准锁定IP地址吧。


一、正则表达式(PATRERN) 括号() 方括号[] 尖括号<> 大括号{} 的使用

\[\]  匹配指定范围内的任意单个字符

[^] 用于匹配指定对象之外的任意单个字符

^[] 用于匹配指定对象并且在行首的任意单个字符

\(\) 用作后向引用,也可以用于限定或(\|)的作用域

\1 引用第一个左括号及其与之对应的右括号所包含的所有内容

\2 同理

\3 同理

\< 其后面的任意字符必须作为单词的首部出现

\> 其前面的任意字符必须作为单词的尾部出现

\<root\> 单词root必须单独作为单词

\{\} 用于匹配次数

\{m,n\} 匹配其前字符至少m次,至多n次

例:数字开头数字结尾

grep ‘\([0-9]\).*\1$‘ /etc/inittab
用于匹配某一类的任意单个字符 [[:digit:]],[[:lower:]],[[:upper:]],[[:punct:]],[[:space:]],[[:alpha:]],[[:alnum:]]

二、grep(全局搜索),sort(文本统计),cut(文本剪切工具),wc(文本统计),tr(字符处理命令),uniq(显示重复行,相邻+相同=重复)

grep [option] pattern [file] [file1] ...

常用 -i -v -o --color -E

-A #   显示其后#行内容

-B #    其前

-C #    其前后

例:cpu family及其后两行

grep -A 2 ‘cpu family‘ /proc/cpuinfo

sort [option] [file]

-n 数值排序

-r 降序排列

-t 字段分隔符

-k 以哪个字段为准进行排序

-f 忽略字符大小写排序

例:

sort -t: -n -k3 /etc/passwd

cut [option] [file]

-d 定义分隔符

-f 与-d一起使用,指定显示那个区域

-b 以字节为单位进行分割

-c以字符为单位进行分割

例:看看变化就知道

netstat -nut | grep ESTAB | awk ‘{print $5}‘
netstat -nut | grep ESTAB | awk ‘{print $5}‘ | cut -d: -f1


    wc [option] [file]

-l 显示行数

-w 显示单词数

-c 显示字节数

tr [option]

-d 删除出现在字符集中的所有字符

例:

cat /etc/passwd | tr -d ‘a‘

uniq [option] [file]

-c 显示文件中行重复的次数

-d 只显示重复行

三、(重头戏)过滤普通IP地址和选定类型的IP地址

样本:iptest.txt

127.0.0.1s asdfdf

123.0.7.193

wo 23.2.2.3

network127.0.0.1/16 is a bad guy

193.192.168.32

172.168.100.1

普通IP:不建议使用,但是速度稍微快一点

grep ‘[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9] iptest.txt

A类IP:(B,C类同理)

grep --color ‘\<\([1-9]\|[1-9][0-9]\|1[01][0-9]\|12[0-7]\)\.\([0-9]\|[1-9][0-9]\|1[0-9][0-9]\|2[0-4][0-9]\|25[0-4]\)\.\([0-9]\|[1-9][0-9]\|1[0-9][0-9]\|2[0-4][0-9]\|25[0-4]\)\.\([0-9]\|[1-9][0-9]\|1[0-9][0-9]\|2[0-4][0-9]\|25[0-4]\)‘ iptest.txt

定有不足,差错肯请致邮:[email protected]

时间: 2024-08-08 13:59:14

文本过滤之——grep,sort,wc,uniq,tr, 精准过滤IP地址,A类地址,B类地址.... 并排序的相关文章

8.10 shell特殊符_cut命令;8.11 sort wc uniq命令;8.12 tee

8.10 shell特殊符_cut命令 1. 特殊符号: * 通配符 ? 任意一个字符 # 注释字符(文件脚本里行首加#,表示此行不生效) \ 脱义字符 | 管道符 cut命令: -d(分隔符) -f(指定段号) -c(指定第几个字符) cut (分割) -d (分隔符) -f (指定段号) 1. 显示前两行,以:(冒号)分割,1,2,3,4段: cat /etc/passwd  内容输出 |head -2  指定前两行内容 |cut -d ":"  指定以冒号为分割符号 -f 1,2

65.shell特殊符号与和cut,sort,wc,uniq,tee,tr,split命令

liunx的特殊符号 代表字母或者数字 多个 ? 任意一个字符"#" 注释\ 脱义字符| 管道符 1.* 代表任意个任意字符或者数字 [[email protected] /]# ls *.txt1.txt[[email protected] /]# 2.?任意一个字符 [[email protected] /]# ls ?.txt1.txt[[email protected] /]# 3.注释 [[email protected] /]# #11111[[email protecte

Linux CentOS 7 shell中的特殊字符及与管道相关的命令(cut,sort,wc,uniq,tee,tr,split)

一. shell特殊符号cut命令 1.特殊符号 * :任意个任意字符 ? :任意单个字符# :注释\ :转义字符 | :管道符 2.几个和管道相关的命令 (1) cut cut 把文件分段 cat /etc/passwd cut -d: -f 3  /etc/passwd    cut -d: -f 3,6,5  /etc/passwd cut -d: -f 3-6  /etc/passwd cut -c 10 /etc/passwd   取第十个字符 cut -c 5-10 /etc/pas

cut,sort,wc,uniq,tee,tr,split,并且,和,或者

cut 把一个文件分段 cut -d:(指定分割符) -f(第几段) 3,4,5 /etc/passwd cut -c(截取第几个字符) 1-10 /etc/passwd sort 用来排序 sort -t:(指定分割符) -k3(第几段) -n(纯数字排序) /etc/passwd sort -t:(指定分割符) -k3,5(区间段用,号,不能用-) -n(纯数字排序) -r(反序排序) -u(去重复) /etc/passwd wc -l(文档有多少行数) 1.txt 2.txt wc -w(

文本管理命令sort,cut,wc,uniq,tr

sort -- sort lines of text files Usgae:sort [OPTION] ... [FILES] 1.常用选项: -n:数值排序 -r:降序排序 -t:指定字段分隔符 -k:

linux命令, cut,sort,wc,uniq,tee 说明

 cut :截取某一个字段 语法:cut -d "分隔字符" [-cf] n 这里的n是数字 -d :后面跟分隔字符,分隔字符要用双引号括起来 -c :后面接的是第几个字符 -f :后面接的是第几个区块 -d 后面跟分隔字符,这里使用冒号作为分割字符,-f 1 就是截取第一段,-f和1之间的空格可有可无. -c 后面可以是1个数字n,也可以是一个区间n1-n2,还可以是多个数字n1,n2,n3  sort :用做排序 语法:sort [-t 分隔符] [-kn1,n2] [-nru] 

Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs

在每个管线后面接的第一个数据必定是『命令』喔!而且这个命令必须要能够接受 standard input 的数据才行,这样的命令才可以是为『管线命令』,例如 less, more, head, tail 等都是可以接受 standard input 的管线命令啦.至于例如 ls, cp, mv 等就不是管线命令了!因为 ls, cp, mv 并不会接受来自 stdin 的数据. 也就是说,管线命令主要有两个比较需要注意的地方: 管线命令仅会处理 standard output,对于 standar

grep,cut,wc,sort,diff,uniq,patch命令

文本处理工具: Linux上文本处理三剑客: grep,egrep,fgrep: 文本过滤工具(模式: pattern)工具; grep:基本正则表达式,-E,-F egrep:扩展正则表达式,-G,-F fgrep:不支持正则表达式, sed: stream editor,流编辑器;文本编辑工具; awk: Linux上实现为gawk,文本报告生成器(格式化文本); 正则表达式:regual expression , regexp 由一类特殊字符及文本字符所编写的模式,其中有些字符不表示其字面

几个常用文本处理小工具tr ,wc,cut,sort,uniq用法详解

几个文本处理的小工具:tr ,wc,cut,sort,uniq 1. tr命令可以对来自标准输入的字符进行替换.压缩和删除.它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大. 语法:tr 选项  SET1 SET2 -c或--complerment:取代所有不属于第一字符集的字符(就是补集): -d或--delete:删除所有属于第一字符集的字符: -s或--squeeze-repeats:把连续重复的字符以单独一个字符表示: -t或--truncate-set1:先删除第