三剑客其一:sed

 

目录

 

sed概述

sed的工作流程

sed命令选项:

语法字母在单引号中 ' '

sed脚本格式

 搜索替代

免交互


sed概述
  • sed编辑器时一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。

  • sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要存储在一个命令文本文件中。

sed的工作流程

sed 的工作流程主要包括读取、执行和显示三个过程

sed命令选项:

-e 多点编辑

-f 用指定的脚本文件来处理输入的文本文件

-h 显示帮助

-n 关闭自动打印

-r 使用扩展正则表达式

-i 实际修改文件的内容

-i.bak 实际修改前先备份 源文件 会产生一个 源文件.bak 的文件

语法字母在单引号中 ' '

p 手动打印

q 提前退出 3q 第三行退出

d 删除 3d 删除 第三行

a 后面追加 3a 第三行后面追加

i 上面插入 3i 第三行 上面 添加

c 替换 3c 将第三行 整行替换

s 替换 替换指定字符

= 显示行号

sed脚本格式

sed -n ‘3p’ 直接显示第三行

sed -n ‘$p’ 直接显示最后一行

seq 10 | sed 'p' 带有自动打印功能,p又再打印一遍

sed -n ‘3,6p’ 显示范围

sed -n ‘3,+4p’ 往后加四行

sed -n ‘/^b/,/^f/p’ /etc/passwd 打印以b开头到f开头的所有行

sed ‘3d’ 删除第三行

sed ‘2ahehe’ 第二行后追加hehe

sed ‘2a \hehe\nhaha’ \/n表示换行

sed ‘2ihehe’ 第二行前面插入hehe

sed ‘2chehe’ 第二行替换成hehe

sed -n ‘2!p’ 取反

 搜索替代

格式 :sed -nr ‘s//\1/p’

面试题:提取版本号

ant-1.9.7.jar
ant-launcher-1.9.7.jar
antlr-2.7.7.jar
antlr-runtime-3.4.jar
aopalliance-1.0.jar
archaius-core-0.7.6.jar
asm-5.0.4.jar
aspectjweaver-1.9.5.jar
bcpkix-jdk15on-1.64.jar
bcprov-jdk15-1.46.jar
bcprov-jdk15on-1.64.jar
checker-compat-qual-2.5.5.jar

免交互

cat <<EOF

基本命令:

1.脚本解释器

expect 脚本中首先引入文件,表明使用的事哪一种shell

#!/usr/bin/expect

2.spawn

spawn 后面通常跟一个Linux执行命令,表示开启一个会话、进程,并跟踪后续交互信息

后面加 命令

3.expect

判断上次输出结果中是否包含指定的字符串,如果有则立即返回,否则就等待超时时间后返回;只能捕捉有swpan启动的进程输出;

用于接受命令执行后的输出,然后和期望的字符串匹配

4.send

向进程发送字符串,用于模拟用户的输入:该命令不能自动回车换行,一般要加 \r (回车) 或者\ n

5.结束符

expect eof

表示交互结束,等待执行结束,退回到原用户,与spawn对应

6.set

expect 默认的超时时间是10秒,通过set 命令可以设置会话超时时间,若不限制超时时间则应设置为-1

7.exp_continue

exp_continue 表示允许 expect 继续向下执行指令.

exp_continue附加于某个expect 判断选项之后,可以是该项被匹配后还能继续匹配expect 判断语句内的其他项。exp_continue类似于控制语句的continue语句。表示允许expect继续向下执行命令。

8.send_user

表示回显命令与echo相同
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值