sed和awk

sed流编辑器

Sed都是在模式空间操作,只是展示,不会保存,展示结果之后,模式空间当中的内容会被删除

删除:

“d”:操作符,删除的是行

指定删除:

例:删除第三行,打印剩余内容

删除第二行到第五行

删除第五行到最后一行

除了第一行到第四行,其他的全部删除

匹配字符串内容进行删除:

匹配字符串包含o的行删除

删除包含两个之间所有的删除

字符串根据正则表达式进行删除

过滤空行

用grep方式过滤出非空行

(重点)Sed修改,替换:

操作符:

S:替换字符串

C:整行替换

y:单字符替换,替换前后的字符要保持一致

笔试题:把root开头为空行的替换成#。 /etc/passwd

对字母字符进行大小写替换:

例:把大写转换成小写

L&:转换成小写的特殊符号,在前面加上转义\

小写转换成大写

整行替换:

面试题:把ip地址换成1.1.1.1

单字符替换:

Sed命令:新增

a :在匹配行的下一行增加内容

i :在匹配行的上一行添加内容

r : 可以从其他文件读取内容,然后再匹配行

$a : 直接在文本的最后一行添加内容

$i :在倒数第三行和倒数第一行之间

sed命令如何对字符串的位置进行替换:

要用到扩展正则和分组的概念 -r  ()

Sed面试题:

  1. 提取版本号

2.指定时间范围内看日志

Sed总结:

Sed可以增删改查

Sed也可以结合正则表达式

但是sed的 最主要的作用,改 增

使用sed命令时,注意,大文件一定要分割之后在交给sed处理

搭配正则表达式: sed -r {n} {n,} {n,m} {,m} 可以不加杠

使用sed -i 立即生效,要注意,事先做好测试,还要做好备份

AWK

AWK是文本三剑客之一,也是功能最强大的文本工具

他是逐行读取输入的文本内容,默认以空格和tab键作为分隔符,但是多个空格或者tab键的空格,会自动压缩成一个,按照指定的模式或者条件执行编辑命令

也是逐行匹配,对符合条件的才会进行格式化输出或者过滤

可以在免交互的情况下实现负杂的文本操作,完成自动化的配置

Awk ‘操作符 action’ file

   想干啥 怎么干 处理对象

awk ‘BEGING{}’

BEGIN对条件做初始化操作

For((i=1;i<=10;i++))

默认的打印方式

Awk的常用选项

-F 指定分隔符,如果是空格,tab键,可以不加

-v 变量赋值 awk这个命令不能在外部获取变量值,只能在内部赋值

awk '{print}' /etc/passwd

打印文本内容

内置变量

NR

打印行号加打印全部内容

怎么打印奇偶行

偶数行

awk的运算:一定要定义一个初始条件

算小数

求幂的运算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值