设为首页 加入收藏

TOP

Shell命令(二)
2023-07-23 13:34:04 】 浏览:62
Tags:Shell 命令
要转义是因为不转义的话大括号只是表示他们字面上的意思
27 27[0-9]\{5\}” --精确匹配 5 个数字 (从 0 到 9 的数字) 扩展正则表达式

10.perl正则表达式

1  --数字匹配\d 符号“\d”匹配从0到9中的任意一个数字字符,等价于表达式“[0-9]”
2  --筛选以字符串rc开头,紧跟着一个数字的文本行 -P可以让grep使用perl的正则表达式语法
3  str=`ls /etc | grep -P "^rc\d"`
4  echo "$str"
5  ?
6  --非数字匹配\D  “\D”等价于表达式“[^0-9]”
7  --空白字符匹配\s :匹配任何空白字符,包括空格、制表符以及换页符=“[\f\n\r\t\v]”。
8  --非空白字符匹配\S:符号“\S”匹配任何非空白字符,等价于表达式“[^\f\n\r\t\v]”
perl正则表达式

处理海量数据的命令:grep、cut、awk、sed

grep、sed命令是对行进行提取

cut、awk命令是对列进行提取

11.grep命令

 1  /*
 2  grep [选项]...[内容]...[file]
 3  -v 对内容进行取反提取
 4  -n 对提取的内容排列,显示行号
 5  -w 精确匹配
 6  -i 忽略大小写
 7  ^  匹配行首
 8  -E 正则匹配
 9  */
10  grep 'user' /etc/passwd  --匹配包含user的行
11  grep -n 'user' /etc/passwd --显示行号
grep

12.awk命令

 1  /*
 2  而awk比较倾向于将一行分成多个"“字段"然后再进行处理。awk信 息的读入也是逐行读取的,在使用awk命令的过程 中,可以使用逻辑操作符”&“表示"与”、"||表示"或"、"!“表示非”;还可以进行简单的数学运算,如H+、 -、*、/、%、^分别表示加、减、乘、除、取余和乘方。
 3  awk 选项 '{操作}' 文件名
 4  */
 5  awk '{print}' zz.txt   --默认输出所有
 6  awk -F: '{print $1}' zz.txt  --分隔符为:输出第一列
 7  echo 'this is a test' | awk '{print $NF}'  --$NF表示最后一个字段
 8  awk -F ':' '{ print toupper($1) }' demo.txt  --将输出的字符转成大写
 9  --awk '条件 动作' 文件名  结合正则表达式
10  awk -F ':' '/usr/ {print $1}' demo.txt  --只输出包含usr的行
11  awk -F ':' 'NR % 2 == 1 {print $1}' demo.txt --输出奇数行
12  awk -F ':' '$1 == "root" {print $1}' demo.txt --输出第一个字段等于指定值的行
awk

13.route命令

 1  /*
 2  在网络中,route命令用来显示、添加、删除和修改网络的路由。
 3  route [-f] [-p] [Command] [Destination] [mask Netmask] [Gateway] [metric Metric] [if Interface]
 4  route -f:用于清除路由表
 5  route -p:用于创建永久路由
 6  route Command:主要有print(打印路由)、ADD(添加路由)、DELETE(删除路由)、CHANGE(修改路由)4个常用命令
 7  route Destination:表示到达的目的IP地址
 8  route MASK:表示子网掩码的关键字
 9  route Netmask:表示具体的子网掩码,如果不进行设置,系统默认设置成255.255.255.255(单机IP地址),添加掩码时要注意,特别是要确认添加的是某个IP地址还是IP网段,如果代表全部出口子网掩码可用0.0.0.0
10  route Gateway:表示出口网关
11  route interface:表示特殊路由的接口数
12  route metric:表示到达目的网络的跳数
13  -net 后面跟的是目标网络,gw就是gateway(网关入口)
14  */
15  --局域网的网络地址192.168.1.0/24,局域网络连接其它网络的网关地址是192.168.1.1。主机192.168.1.20访问172.16.1.0/24网络时,其路由设置正确的是
16  route add –net 172.16.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1
route

14.cut命令

1  cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的
2  cut  [-bn] [file] 或 cut [-c] [file]  或  cut [-df] [file]
3  -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了-n标志。
4  -c :以字符为单位进行分割。
5  -d :自定义分隔符,默认为制表符。
6  -f  :与-d一起使用,指定显示哪个区域。
7  -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的<br />范围之内,该字符将被写出;否则,该字符将被排除。
8  ?
cut

15.sed命令

 1  -n --把匹配到的行输出打印到屏幕
 2  p  --以行为单位进行查询,通常与-n一起使用
 3  eg:df -h | sed -n '2p'     --打印第二行
 4  d   --删除  eg :df -h |sed '2d'  --删除第二行
 5  a   --在行下边插入新的内容 eg:sed '2d 122344' 1.txt   
 6  i   --在行上边插入新的内容 eg:sed '2i 122344' 1.txt   
 7  c   --替换               eg:sed '2c 122344' 1.txt
 8  s/被替换的内容/新的内容/g   --eg: sed s/"//g  1.txt
 9  -i   --对源文件进行修改    --eg: sed -i s/"//g  1.txt
10  -e   --表示可以执行多条动作
11  sed -n '/100%/p' 1.txt   --匹配到100%的打印出来
sed

16.xargs命令

1 /*xargs是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具,它擅长将标准输入数据转换成命令行采纳数。xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。xargs也可以单行或多行文本输入转换为其他格式,例如多行转单行,单行转多行。xargs的默认命令是echo,空格是默认定界符。
2  */
3  --多行换入单行输入
4  cat test.txt | xargs
5  ---n 选项多行输出
6  cat test.txt  | xargs -n3
7  --d 自定义定界符
8  echo "abcadbsbdkvbwwlg" | xargs -db
xargs

17.sort命令

 1 /*
 2 sort命令将文件的每一行作为比较对象,通过将不同行进行相互比较,从而得到最终结果。比较原则是从首字符开始,向后依次按ASCII码值进行比较,最后将结果按升序输出
 3 参数:
 4 sort -u  :在输出行中去除重复行
 5 sort
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇mysql二进制安装脚本部署 下一篇LVS+keepalived+nginx+tomcat 主..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目