Shell编程(一)

(一)正则表达式

1.1正则表达式和通配符

在shell中一般:

  • 正则表达式用来,包含匹配字符串
  • 通配符用来,完全匹配文件名

1.2基础正则表达式

在这里插入图片描述

1.3实例

# 匹配所有内容
grep "a*" file1
#匹配a..的行
grep "aa*" file1
#[aeiou]其中一个字符的行
grep "[aeiou]" file1
#[^aeiou] 取反
#匹配连续出现3次a的行
grep "a\{3\}" file1
#匹配连续出现至少3次a的行
grep "a\{3,\}" file1
#匹配连续出现至少3次a, 至多5次
grep "a\{3,5\}"

(二)字符截取命令

1.1 cut字符提取命令

在这里插入图片描述

# 默认分割符为制表符\t
cut -f 2 file1 
cut -f 2,3 file1
# 以:为分隔符
cut -d ":" -f 2 file

在处理空格的时候,不好使用

1.2 printf命令

在这里插入图片描述
在这里插入图片描述

# printf的输入 不能是文件也不能用管道符
printf "%s" $(cat file1)

1.3 awk命令

awk “条件1{执行1}条件2{执行2}” 文件

执行可以是语句或流程

df -h | awk '{print $5}' | cut -d "%" -f 1

#以fs(:)为分割,打印第5列
awk 'BEGIN{FS=":"} {print %5}' /etc/passwd

1.4 sed命令

 sed是轻量级编辑器,可以对数据进行修改、添加、替换、删除等。
 和vim只能对文件修改不同,它可以对流(另一个命令输出的结果),也可以对文件修改。
在这里插入图片描述
在这里插入图片描述

# 不加-n,屏幕会输出第二行和整个结果
df -h | sed -n '2p'

#删除2,3行
df -h | sed '2,3d'

#第二行后添加
df -h | sed '2a tian \ jia'

#加-i才会改变文件本身
#把file文件第二、三行的a替换成b
sed -i '2,3s/a/b/g' file

(三)字符处理命令

1.1sort命令

在这里插入图片描述

1.2wc统计命令

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值