sed -n/r/e/i/f/w (选项 ) ‘script’ file(要处理的文件)
-n 不输出模式空间内容到屏幕,也不自动打印
-r 扩展正则表达式
-e多点编辑
-i 修改文件 最好加.org /bak后缀,会先把文件做备份
-f 脚本文件名 file ‘script’ fifle 文件名
-w 写入文件
script :‘address cmd’ addcmd 地址可以写单行地址,区间范围,正则表达式的区间范围地址,也可以第几行到第几行
cmd:p打印当前内容,d删除,a附加,i插入在前,c 替换,w,r读入,= 行号,!取反
sed强大支持正则表达式,工作是基于每次把文件的第一行放到模式空间
hold space 保持空间 (临时存放未处理完成半成品的空间) pattern space 模式空间(正在处理数据的空间)
P:\n回车 换行 如果模式空间有几行,只打印第一行,如果是小p就全部打印
h:模式空间读出来覆盖保持空间
H:模式空间读出来追加保持空间
g:从保持空间去除内容覆盖至模式空间
G:保持模式内容追加至模式空间
x:把模式空间中的内容与保持空间中的内容进行互换
n:读取匹配行的下一行覆盖模式空间第一行
N:第一行第二行都在模式空间/ 读取匹配行的下一行追加模式空间
d:删除模式空间的行
D:如果模式空间包含换行符,则删除直到第一个换行符的模式空间中的文本,并不会读取新的输入行,而使用合成的模式空间重新启动循环。如果模式空间不包含换行符,则会发出d命令那样启动正常的新循环
如果有好几行会删除第一行,并且不会读新的下一行
1.-n 关闭自动打印 ,,n读取匹配行的下一行覆盖模式空间第一行等于读入第一行打印第二行,
p打印当前模式空间内容,追加到默认输出之后,读入基数行打印偶数行
2.sed ‘1!G;$;!d’ file 不是第一行执行G操作,h模式空间读出来覆盖保持空间;不是最后一行删除(是最后一行就不删除)G从保持空间内容追加至模式空间
;等于多个脚本,位置1不是第一行 执行G命令
cat时正序显示内容,tac倒叙显示文件内容
3.sed 'N;D ’ file 只留最后一行
N读取匹配到的行的下一行追加至模式空间
D只删除第一个换行符前
如果模式空间包含换行符,则删除直到第一个换行符的模式空间中的文本,并不会读取新的输入行,而使用合成的模式空间重新启动循环。如果模式空间不包含换行符,则会发出d命令那样启动正常的新循环
4.sed ¥!N;¥!D’ file 留下倒数两行
不是最后一行就追加,不是最后一行就删除
N读取匹配到的下一行追加至模式空间
D只删除第一个换行符前
5.sed ‘¥!d’ f1 只留最后一行
d:删除模式空间的行
6.sed ‘G’ 1-10加上空行
G从保持空间内容追加至模式空间
7.sed ‘g’ file 10个空行
g:从保持空间去除内容覆盖至模式空间
8.sed ‘/^¥/d;G’ 空行删除,保持空间是没有信息就是在有信息的行后面加空行
G把保持空间内容追加模式空间
d删除模式空间的行
9.sed ‘n:d’ 基数行
n读取匹配行的下一行覆盖模式空间第一行;d删除模式空间的行
10.sed -n ‘1!G;h;¥p’
-n不输出模式空间内容到屏幕,即不自动打印
1!G不是第一行就保持空间的内容追加至模式空间
h模式空间读出来覆盖保持空间
¥p小p就全部打印
1.
2.
3.
4.
5。
6.
7.noarch无关与架构无关,与cpu没有关系
8.
9.面试题
N读取匹配到的下一行追加至模式空间
sed强大在支持正则表达式,并且支持修改文件
操作系统接口 ABI支持2进制
API参考别人库的接口调用
c语言
stdio。h头文件和文本文件hello.c 汇编成 hello.a 》hello.o
ldd命令
静态编译一般是.a后缀的,动态一般是.so
c# .net php 开发快java比较稳定, 携程还没转换成java
不同操作系统ABI不同
按esc进入,在正式环境下不行,在虚拟机可以,物理服务器是F2 或者DEL
centos7选择第3项 troubleshooting故障排除
2选择第2项rescue 紧急救援
1继续
把跟挂在 MNT/sysimage目录里
现在的跟/=/mnt/sysimage
是个软链接,那么我们也可以创建软链接
不能写绝对路径,只能写相对路径
在同一个文件夹
恢复的时候尽量范围改动小