8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
sed功能:主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等。基于行的文本工具,批量的执行对文件的修改,是基于一行一行的处理。
sed的常见命令
用法:
sed [option]… ‘script’ inputfile…
常用选项:-n 不输出模式空间内容到屏幕,即不自动打印
-e 多点编辑
-f /PATH/SCRIPT_FILE 从指定文件中读取编辑脚本
-r 支持使用扩展正则表达式
地址范围:
#,#
#,+#
/pat1/,/pat2/
#,/pat1/
~:步进
1~2 奇数行
2~2 偶数行
p 打印当前模式空间内容,追加到默认输出之后,下为例:1
2
3
4
5
6
7
8
9
10
11bin:x:1:1:bin:/bin:/sbin/nologin
[[email protected] data]#sed -n '$p' passwd #打印最后一行
aiqiyi:x:1015:1019::/home/aiqiyi:/bin/bash
[[email protected] data]# sed -n '/^l/p' passwd #sed也支持正则表达式,正则表达式写在//中间。
ihongfei:x:1011:1013::/home/lihongfei:/bin/bash
[[email protected] data]# sed -n '2,3p' passwd #也可以指定显示第几行
[[email protected] data]# sed -n '2,+3p' passwd #显示第二行以后再加3行
[[email protected] data]# sed -n '/^lihf/,/^lihongfei/p' passwd #打印lihf到lihongfei中间的行
d选项 删除模式空间匹配的行,并立即启用下一轮循环1
2[[email protected] data]#sed '/^#/d' cat /etc/fstab #不显示以#开头的行
[[email protected] data]#seq 10| sed '1~2d' #不显示奇数行
a选项 []text 在指定行后面追加文本,支持使用n实现多行追加1
2
3[[email protected] data]#seq 10 | sed '2abbb' #在第二行下面追加一行bbb,想要所有行都追加就不要指定行
[[email protected] data]#seq 10 | sed '2abbbncccnddd' #用换行符追加多行
[[email protected] data]#sed '/^lihf/a123456' passwd #支持正则表达式,在以lihf开头的行下加一行
i[]text 在行前面插入文本1[[email protected] data]#sed '/^lihf/i123456' passwd #在lihf的上面加一行
c[]text 替换行为单行或多行文本1
2
3[[email protected] data]#sed '/^aiqiyi/c1111' passwd #把aiqiyi替换为1111
[[email protected] data]#sed '/^SELINUX=/cSELINUX=AAA' /etc/selinux/config #把文件里的SELINUX=的行替换,修改的话加-i 加后缀。
-i.bak 备份文件并原处编辑,后缀自己指定1[[email protected] data]#sed -i.aaa '3admin' passwd #指定第三行下再加一行admin,原文件保留,生成一个.aaa后缀的文件
s/// 查找替换
查找替换,支持使用其它分隔符,s@@@,s###
替换标记:
g 行内全局替换
p 显示替换成功的行
w /PATH/FILE 将替换成功的行保存至文件中
`bash
[[email protected] data]#sed ‘s/UUID/uuid/‘ /data/fstab #替换UUID为小写
[[email protected] data]#sed ‘s/UUID/uuid/g’ /data/fstab #后面跟g为全局替换
[[email protected] data]#ifconfig ens33 |sed -n ‘2p’| sed -nr ‘s/.net (.) net.$/1/p’ #利用正则表达式取出ip地址
[[email protected] data]#sed -r ‘s/^[^#.][[:alpha:]]/#&/p’ fstab #把非#开头的行加上#。
[[email protected] data]#sed -r ‘s/(.CMDLINE.)”/1 aaa”/‘ /etc/default/grub # 把grub文件里的某一行后面加上aaa。