sed命令,后台开发必知命令

admin 2022年3月29日23:28:34评论90 views字数 3120阅读10分24秒阅读模式
来自公众号:盼盼编程

前言

sed命令,后台开发必知命令

sed命令,后台开发必知命令


sed命令,后台开发必知命令

sed命令,后台开发必知命令


p 命令,用来打印文件内容

(一) 打印整个文本,n 命令,仅显示 script 处理后的结果,不加 n 命令,会把待处理的信息也输出。

[root]# sed -n p test.txt
tom likes to play football
kevin likes to eat cabbage
frank likes to drink beer
cary doesn't like smoking


(二) 打印第一行到最后一行的内容。1表示第一行, $表示最后一行

[root]# sed -n "1,$"p test.txt
tom likes to play football
kevin likes to eat cabbage
frank likes to drink beer
cary doesn't like smoking


(三)   过滤带 to 的行, 类似于 grep 命令。

[root]# sed -n "/to/"p test.txt
tom likes to play football
kevin likes to eat cabbage
frank likes to drink beer


(四) 打印匹配 kevin 开始,frank 为结束的行。

[root]# sed -n "/kevin/,/frank/"p test.txt
kevin likes to eat cabbage
frank likes to drink beer

s 命令,用于替换

(一)将 kevin 替换成 kkk。

[root]# sed  "s/kevin/kkk/g" test.txt
tom likes to play football
kkk likes to eat cabbage
frank likes to drink beer
cary doesn't like smoking


(二) 只针对第二行进行判断。

[root]# sed  "2s/kevin/xxx/g" test.txt
tom likes to play football
xxx likes to eat cabbage
frank likes to drink beer
cary doesn't like smoking


(三) 针对多行进行替换。

[root]# sed  "1,4s/kevin/xxx/g" test.txt
tom likes to play football
xxx likes to eat cabbage
frank likes to drink beer
cary doesn't like smoking


(四) 只替换第1个 to 为 tt 。

[root]# sed "s/to/tt/1" test.txt
ttm likes to play football
kevin likes tt eat cabbage
frank likes tt drink beer
cary doesn't like smoking


(五) 只替换第 2 个 to。

[root]# sed "s/to/tt/2" test.txt
tom likes tt play football
kevin likes to eat cabbage
frank likes to drink beer
cary doesn't like smoking


(六) 开头加点东西(注释)。

[root]# sed "s/^/// /" test.txt
// tom likes to play football
// kevin likes to eat cabbage
// frank likes to drink beer
// cary doesn't like smoking


(七) 末尾加点东西。

[root]# sed "s/$/  // comment /" test.txt
tom likes to play football  // comment 
kevin likes to eat cabbage  // comment 
frank likes to drink beer  // comment 
cary doesn't like smoking  // comment 

c 命令,用于行替换

(一) 将第二行的内容替换 hehe。

[root]# sed "2 c hehe" test.txt
tom likes to play football
hehe
frank likes to drink beer
cary doesn't like smoking


(二) 仅仅替换有 tom 的行。

[root]# sed "/tom/c cat" test.txt
cat
kevin likes to eat cabbage
frank likes to drink beer
cary doesn't like smoking

i 命令, 表示行插入

(一) 在第一行前面插入。

[root]# sed "1 i love you" test.txt
love you
tom likes to play football
kevin likes to eat cabbage
frank likes to drink beer
cary doesn't like smoking


(二) 在最后一行前面插入。

[root]# sed "$ i love you" test.txt
tom likes to play football
kevin likes to eat cabbage
frank likes to drink beer
love you
cary doesn't like smoking

a 命令, 用于依附

(一) 在第一行后依附。

[root]# sed "1 i love you" test.txt
love you
tom likes to play football
kevin likes to eat cabbage
frank likes to drink beer
cary doesn't like smoking


(二) 在最后一行后依附。

[root]# sed "$ i love you" test.txt
tom likes to play football
kevin likes to eat cabbage
frank likes to drink beer
love you
cary doesn't like smoking

d 命令,删除所匹配的行

(一) 删除有kevin的行。

[root]# sed "/kevin/d" test.txt
tom likes to play football
frank likes to drink beer
cary doesn't like smoking


(二) 删除第 1 行。

[root]# sed "1d" test.txt
kevin likes to eat cabbage
frank likes to drink beer
cary doesn't like smoking


(三) 删除第 2-4 行。

[root]# sed "2,4d" test.txt
tom likes to play football


絮叨

sed命令,作为linux三剑客之一,功能非常强大。在工作和面试中,也会用到。处理问题时,可以配合awk,grep一起使用,方便多多。

希望这篇文章对大家学习sed命令有所帮助,祝大家学习愉快!


--- EOF ---


推荐↓↓↓

原文始发于微信公众号(Linux学习):sed命令,后台开发必知命令

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月29日23:28:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   sed命令,后台开发必知命令http://cn-sec.com/archives/851854.html

发表评论

匿名网友 填写信息