本文主要介绍了 Sed 常用的基本命令。
Linux sed 命令主要用来处理、编辑文本文件。
sed -i
命令可直接修改文件
替换
1
| sed -i "s/旧字符串/新字符串/g" 文件名
|
例如:要将 test.txt 文件中的 AAA 全部替换为 BBB,即:
1
| sed -i "s/BBB/AAA/g" test.txt
|
带 g —— 全部替代
无 g —— 只替代每行第一个
1
| sed -i "Ns/旧字符串/新字符串/g" 文件名
|
例如:将 test.txt 第 3 行的 bb 换为 BB,即:
1
| sed -i "3s/bb/BB/g" test.txt
|
可以使用正则表达是 .* 代替两个字符串之间的任意内容
1
| sed -i "s/开始字符串.*结束字符串/开始字符串修改后的字符串结束字符串/g" 文件名
|
例如:要将 test.txt 文件中 > 和 = 之间的内容都替换为 CCC,即:
1
| sed -i "s/>.*=/>CCC=/g" test.txt
|
新增
例如:在 test.txt 文件的第 2 行之后增加一行 ddd,即:
1
| sed -i "2a\dddd" test.txt
|
$ 代表最后一行,注意要使用单引号
例如:在 test.txt 的末尾插入一行 DDD,即
1
| sed -i '$a DDD' test.txt
|
插入
例如:在 test.txt 文件的第 2 行 插入 AAA,即:
1
| sed -i "2i\AAA" test.txt
|
例如:在 test.txt 中的第一行插入 BBB,即:
1
| sed -i "1i\BBB" test.txt
|
删除
例如:删除 test.txt 文件的第 2 行,即
例如:删除 test.txt 文件的从第 2 行,到第 5 行,即:
参考资料