首页 > 代码库 > sed 以及 awk用法
sed 以及 awk用法
sed 格式
sed[options] "script" FILE....
选项:
-n:静默模式,不输出模式空间内的内容;默认打印空间模式的内容
-r:扩展的正则表达式
-f 文件:指定sed脚本文件
-e ‘script‘ -e ‘script‘ :指定多个编辑指令
-i : 直接编辑原文件
编辑命令:
d:删除
p: 打印
i \text:在被指定到的行前面插入文本
a \text:在被指定的行的下面插入文本
\n:换行
r /path/file.txt:在指定位置把另外一个文件的内容插入
w /path/file.txt:将符合条件的所有行保存至指定文件中
=:显示符号条件的行的行号
s///:查找条件可以使用模式,但是要替换的内容不行
地址定界:自定义的起始行到结束行
startline,endline
1,3
/pat1/,/pat2/
/pattern/
用法:sed [options] ‘addr1[,addr2]编辑命令‘ FILE...
sed [options] "addr1[,addr2]编辑命令" FILE...
用法
1. 删除 /etc/puppet/puppet.conf 1到13行的数据 [root@k8s1 ~]# sed ‘1,13d‘ /etc/puppet/puppet.conf
2. 删除以空格或者tab的集合开头的行
[root@k8s1 ~]# sed ‘/^[[:space:]]/d‘ /etc/puppet/puppet.conf
3.删除空行
[root@k8s1 ~]# sed ‘/^[[:space:]]*$/d‘ /etc/puppet/puppet.conf
4.删除fstab中以/ 开头的行。
[root@k8s1 ~]# sed ‘/^\//d‘ /etc/fstab
5.删除第2行到第一次出现 / 的行,结束是在/ 行后
[root@k8s1 ~]# sed ‘2,/^\//d‘ /etc/fstab
6.删除以 # 开始到第一次出现 / 的行,结束是在/ 行后
[root@k8s1 ~]# sed ‘/^#/,/^\//d‘ /etc/fstab
7.显示打印以 # 开始到第一次出现 / 的行,结束是在/ 行后
[root@k8s1 ~]# sed -n ‘/^#/,/^\//p‘ /etc/fstab
8.在空行前添加 11111111111111
[root@k8s1 ~]# sed ‘/^$/i \111111‘ /etc/fstab
[root@k8s1 ~]# sed ‘/^[[:space:]]*$/i \111111‘ /etc/fstab
9.在空行后添加 11111111111111
[root@k8s1 ~]# sed ‘/^$/a \111111‘ /etc/fstab
[root@k8s1 ~]# sed ‘/^[[:space:]]*$/a \111111‘ /etc/fstab
10.在大写字母后添加2行
[root@k8s1 ~]# sed ‘/^[[:upper:]]/a \aaaaaaaaaaa\nbbbbbbbbb‘ /etc/issue
11. 在一个大写字母行后,把另一个文件内容追加进来。
[root@k8s1 ~]# sed ‘/sda2/r /etc/issue‘ /etc/fstab
12. 将fstab 中包含 / 的保存在/tmp/file.txt中
sed ‘/\//w /tmp/file.txt‘ /etc/fstab
13.显示匹配的行号
[root@k8s1 ~]# sed ‘/\//=‘ /etc/fstab
sed 以及 awk用法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。