Sed 常用基本命令
Posted Erik_ly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sed 常用基本命令相关的知识,希望对你有一定的参考价值。
文章目录
本文主要介绍了 Sed 常用的基本命令。
Linux sed 命令主要用来处理、编辑文本文件。
sed -i
命令可直接修改文件
替换
- 替换某个字符串
sed -i "s/旧字符串/新字符串/g" 文件名
例如:要将 test.txt 文件中的 AAA 全部替换为 BBB,即:
sed -i "s/BBB/AAA/g" test.txt
带 g —— 全部替代
无 g —— 只替代每行第一个
- 只替换第 N 行的某些字符
sed -i "Ns/旧字符串/新字符串/g" 文件名
例如:将 test.txt 第 3 行的 bb 换为 BB,即:
sed -i "3s/bb/BB/g" test.txt
- 替换两个字符之间的内容
可以使用正则表达是 .* 代替两个字符串之间的任意内容
sed -i "s/开始字符串.*结束字符串/开始字符串修改后的字符串结束字符串/g" 文件名
例如:要将 test.txt 文件中 > 和 = 之间的内容都替换为 CCC,即:
sed -i "s/>.*=/>CCC=/g" test.txt
新增
- 在第 N 行之后插入一行
sed -i "Na\\新增内容" 文件名
例如:在 test.txt 文件的第 2 行之后增加一行 ddd,即:
sed -i "2a\\dddd" test.txt
- 在最后一行之后插入一行
sed -i '$a 新增内容' 文件名
$ 代表最后一行,注意要使用单引号
例如:在 test.txt 的末尾插入一行 DDD,即
sed -i '$a DDD' test.txt
插入
- 在文件第 N 行插入
sed -i "Ni\\插入内容" 文件名
例如:在 test.txt 文件的第 2 行 插入 AAA,即:
sed -i "2i\\AAA" test.txt
- 在文件第一行插入内容
sed -i "1i\\插入内容" 文件名
例如:在 test.txt 中的第一行插入 BBB,即:
sed -i "1i\\BBB" test.txt
删除
- 删除第 N 行内容
sed -i 'Nd' 文件名
例如:删除 test.txt 文件的第 2 行,即
sed -i '2d' test.txt
- 删除从的 M 行到第 N 行的内容
sed -i 'M,Nd' 文件名
例如:删除 test.txt 文件的从第 2 行,到第 5 行,即:
sed -i '2,5d' test.txt
参考资料
-
Linux sed 命令 | 菜鸟教程 https://www.runoob.com/linux/linux-comm-sed.html
-
使用sed -i对文本字符串进行增删改查 - 纯捡垃圾吃的 - 博客园 https://www.cnblogs.com/zhangrui153169/p/11506334.html
注:本文首发于个人博客网站: http://www.erik-ly.com/
以上是关于Sed 常用基本命令的主要内容,如果未能解决你的问题,请参考以下文章