sed命令的使用

1、sed格式、理解

(1)找谁  干什么

(2)想找谁,就把谁保护起来

 

2、sed基本操作

操作文件oldboy.txt

 

1
2
3
4
5
6
7
8
9
10
11
12
I am lizhenya teacher!
I teach linux.
test
 
I like badminton ball ,billiard ball and chinese chess!
my blog is http: blog.51cto.com
our site is http:www.lizhenya.com
my qq num is 593528156
 
not 572891888887.
 
lizhenya lizhenyalizhenya

 

(1)sed  'np'  oldboy.txt

输出第n行,此时为默认输出,会显示所有的内容

 

 加上 -n 后可以取消默认输出,只输出第n行

 

 

(2)sed  -n  '3,5p'  oldboy.txt

找出连续的3到5行

 

 

(3)sed  -n  '/xxx/p'  oldboy.txt

找出包含xxx的行(也可以找出以什么开头的行,例如:sed -n '/^xxx/p' oldboy.txt)

 

 

(4)sed  -n  '/xxx/,/yyy/p'  oldboy.txt

找出包含xxx 到包含yyy 的行(过滤范围)

 

 

(5)sed  -n  '/xxx|yyy/p'  oldboy.txt

找出包含xxx或yyy的行(扩展正则需要加 -r )

 

 

 

(6)sed  -n  '$p' oldboy.txt

找出末尾的行

 

 

(7)sed  -n  'n,$p' oldboy.txt

找出n行到末尾行

 

 

(8)sed 'na  xxxxxxxxxxxx' oldboy.txt      ——a

在文件的第n行下面插入xxxxxxxxx内容

 

 

(9)sed 'ni  xxxxxxxxxxxx' oldboy.txt  ——i

在第n行上面插入xxxxxxxxxxx内容

 

 

(10)sed  'nc  xxxxxx'   oldboy.txt  ——c

把第n行的内容替换成xxxxxxx

 

 

(11)sed  'nd'  oldboy.txt

删除第n行

 

 

(12)以上的a   i    c   d等操作如果不加数字,则会所有的行全部操作,例如:

另外,除了用数字之外也可以用其他的方式,例如:在以ExecReload开头的行上面添加内容

 

 

 

 

 

3、sed之内容替换s###g   s@@@g  s///g ...)

1
2
s: sub<br>
g: global 全局替换

不加g 只会替换每行的第一个内容,加g会全部替换。

 

 

1
2
3
s#xxx#yyy#g
 
把xxx替换成yyy

 

 

如下例子:取出IP和子网掩码

 

 

 

 

 

 

4、sed之后向引用(先保护起来,然后引用)

例子:

echo 123456 如何输出后显示为:<123456>

 

 

5、sed使用注意事项

(1)当加上 -i 时会真正修改内容,否则不会真的修改

(2)当使用扩展正则时需要加上 -r 参数

 

 

 

 

posted @   映辉  阅读(104)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示