标签:ble middle 写入 常用 seq ceo lex 替换 问题
101,$oldboy,CEO 102,$zhangyao,CTO 103,$Alex,COO 104,$yy,CFO 105,$feixue,CIO >>"EOF" |
sed -v |
-n 取消默认输出 -r 支持正则表达式 -p 打印 -e 多项编辑 -i.bak 修改后备份 s 搜索一次 sg 搜索全局 # # # : s#替换前#替换后#g / / / : 与###一样 |
[root@chenleilei ~]# sed ‘2i nihaoya‘ sed.log
101,$oldboy,CEO nihaoya 102,$zhangyao,CTO 103,$Alex,COO 104,$yy,CFO 105,$feixue,CIO |
[root@chenleilei ~]# sed ‘2i nihaoya\nwohenhao‘ sed.log
101,$oldboy,CEO nihaoya wohenhao 102,$zhangyao,CTO 103,$Alex,COO 104,$yy,CFO 105,$feixue,CIO |
[root@chenleilei ~]# sed ‘2a nihaoya‘ sed.log
101,$oldboy,CEO 102,$zhangyao,CTO nihaoya 103,$Alex,COO 104,$yy,CFO 105,$feixue,CIO |
[root@chenleilei ~]# sed ‘2a nihaoya\nwohenhao‘ sed.log
101,$oldboy,CEO
102,$zhangyao,CTO
nihaoya
wohenhao
103,$Alex,COO
104,$yy,CFO
105,$feixue,CIO |
[root@chenleilei ~]# sed -e ‘2i 123‘ -e ‘5i 456‘ sed.log
101,$oldboy,CEO 123 102,$zhangyao,CTO 103,$Alex,COO 104,$yy,CFO 456 105,$feixue,CIO |
[root@chenleilei ~]# sed ‘4d‘ sed.log
101,$oldboy,CEO 102,$zhangyao,CTO 103,$Alex,COO 105,$feixue,CIO |
[root@chenleilei ~]# sed ‘2,4d‘ sed.log
101,$oldboy,CEO 105,$feixue,CIO |
seq 10 |sed -e{2,4,8}d ##注意这里不能添加引号或者双引号,否则报错 |
[root@chenleilei ~]# sed -nr ‘/103|105/!p‘ sed.log 101,$oldboy,CEO 102,$zhangyao,CTO 104,$yy,CFO ### !除了103.105开头的行 都删除 然后打印 |
[root@chenleilei ~]# sed ‘s#102#1031#g‘ sed.log
101,$oldboy,CEO 1031,$zhangyao,CTO 103,$Alex,COO 104,$yy,CFO 105,$feixue,CIO |
[root@chenleilei ~]# sed -r ‘1s#[0-9]+#109#‘ sed.log
109,$oldboy,CEO 102,$zhangyao,CTO 103,$Alex,COO 104,$yy,CFO 105,$feixue,CIO |
[root@chenleilei ~]# sed ‘1s#[0-9]#oldboy#g‘ sed.log
oldboyoldboyoldboy,$oldboy,CEO 102,$zhangyao,CTO 103,$Alex,COO 104,$yy,CFO 105,$feixue,CIO 解决办法(-r): [root@chenleilei ~]# sed -r ‘1s#[0-9]+#oldboy#g‘ sed.log oldboy,$oldboy,CEO 102,$zhangyao,CTO 103,$Alex,COO 104,$yy,CFO 105,$feixue,CIO 如果配错了那么3个oldboy 如何改回101呢? [root@chenleilei ~]# sed -r ‘1s#(oldboy)+#101#‘ sed.log 101,$oldboy,CEO 102,$zhangyao,CTO 103,$Alex,COO 104,$yy,CFO 105,$feixue,CIO 如果你写成了 sed -r ‘1s#(oldboy)+#101#g‘ sed.log 也会不成功,那是因为 他有g选项,会全部替换,也就是3个oldboy。解决办法 把 oldboy 使用括号括起来,然后使用 s 尾部的g不要使用,g就是变成3个oldboy的源泉 |
[root@chenleilei ~]# sed -n ‘1,4p‘ sed.log
101,$oldboy,CEO
102,$zhangyao,CTO
103,$Alex,COO
104,$yy,CFO |
[root@chenleilei ~]# sed -n ‘1,4!p‘ sed.log
105,$feixue,CIO |
[root@chenleilei ~]# sed -nr ‘/2|4/p‘ sed.log
102,$zhangyao,CTO 104,$yy,CFO |
[root@chenleilei ~]# sed -n ‘/^103/p‘ sed.log
103,$Alex,COO |
[root@chenleilei ~]# sed -n ‘/$103/p‘ sed.log 103,$Alex,COO,103 |
[root@chenleilei ~]# sed -n ‘/^103/,/^105/p‘ sed.log
103,$Alex,COO 104,$yy,CFO 105,$feixue,CIO |
[root@chenleilei ~]# sed -nr ‘/^103|^105/p‘ sed.log
103,$Alex,COO 105,$feixue,CIO |
[root@chenleilei ~]# sed -n ‘1!p‘ sed.log
102,$zhangyao,CTO 103,$Alex,COO 104,$yy,CFO 105,$feixue,CIO |
[root@chenleilei ~]# sed -n ‘1,2!p‘ sed.log
103,$Alex,COO 104,$yy,CFO 105,$feixue,CIO |
[root@chenleilei ~]# sed -nr ‘/102|104/!p‘ sed.log
101,$oldboy,CEO 103,$Alex,COO 105,$feixue,CIO |
标签:ble middle 写入 常用 seq ceo lex 替换 问题
原文地址:https://www.cnblogs.com/superlinux/p/0d8983d3cbf309a1ef7fb14ebbee9ec8.html