文本处理(grep、cut、sort、test)

一、grep与egrep

grep 	-i   ##忽略字母大小写
	-v   ##条件取反
	-c   ##统计匹配行数
	-q   ##静默,无任何输出
	-n   ##匹配结果所在行号

基本元字符:^ $

过滤/etc/passwd以root开头的行,以/bin/bash结尾的行

统计有/sbin/nologin的行数,显示有/sbin/nologin的行号

基本元字符:.    ##过滤非空行

基本元字符: + ? *

egrep '3+' haha            ##输出包括3,33,333....,即至少出现一次
egrep 'color(ful)?' haha   ##末尾的ful最多匹配一次,也可以没有

元字符:{} []

we后面匹配a或者b的行,匹配含有we2次及以上,匹配we后有任意大写字母

二、cut命令

cut -d	##指定分隔符
cut -d : -f 1-3 /etc/passwd	##指定分隔符为:,显示第1到3列
cut -c 1,4 /etc/passwd		##显示第一和第四个字符

练习:获取主机IP

练习:检测网络

ping -c1 -w1 172.25.254.$1 > /dev/null && echo "172.25.254.$1 is up" || echo "172.25.254.$1 is down"
&& 前面命令成功再执行后面的 
|| 前面命令失败则执行后面的

三、sort命令

sort
        -n   ##纯数字排序
        -r   ##倒叙
        -u   ##去掉重复数字
        -t   ##制定分割符
        -o   ##输出到制定文件
        -k   ##指定要排序的列

四、uniq命令:对重复字符处理

uniq
	-u	##显示唯一的行
	-d	##显示重复的行
	-c	##每行显示一次并统计重复次数

练习:找出/tmp下最大的文件,只取文件名

五、test命令

test "$a" == "$b" 等价 ["$1" == "$2"]
echo $?
["$1" == "$2"]  ##等于            ["$1" != "$2"]  ##不等于
["$1" -eq "$2"] ##等于            ["$1" -ne "$2"] ##不等于
["$1" -le "$2"] ##小于等于         ["$1" -ge "$2"] ##大于等于
["$1" -gt "$2"] ##大于            ["$1" -lt "$2"] ##小于
-a与-o或-z非
["$a" -ne "$b" -a "$a" -gt "$b"] ##与条件
["$a" -ne "$b" -o "$a" -gt "$b"] ##条件至少满足一个

判断一个数是否在0-10内

[-z "$1"]  ##是否为空
[-e "file"] ##是否存在
[-f "file"] ##普通文件
[-b "file"] ##块设备
[-S "file"] ##socket
[-c "file"] ##字符设备
[-L "file"] ##软连接

练习:判断文件类型

测试:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值