几个实用的sed替换内容示例
日常开发中常用到的sed替换内容命令样例,拿来即用,大多数情况都能搞定。
1.替换并输出 (不修改源文件)(实用*)
sed's/cat/dog/g' file #替换hello.txt文件中cat为dog 之后输出
cat hello.txt #首先查看hello.txt中内容
sed's/cat/dog/g' hello.txt # 使用sed替换
2.备份文件后直接替换原文件中的内容(实用****)
###替换hello.txt中cat为dog ###源文件备份为hello.txt.baksed-i.bak 's/cat/dog/g' hello.txt
3.sed命令替换文件中第n 行到m行的内容(实用***)
##替换文件中n行到m行的cat字符为dogsed-i.bak 'n,ms/dog/cat/g' file
示例截图:
编辑
4.替换文件中xxx和***之间的内容(实用****)
sed -i.bak '/A/,/B/s/cat/dog/g' sed3.txt
sed -i.bak '/333/,/222/s/444111/555555/g' sed4.txt ###替换333和222之间的内容
5.一次替换多个内容(实用****)
sed -e 's/dog1/cat1/g' -e 's/dog2/cat2/g' file
模拟主从复制改配置文件需要修改logfile dump pid port
正在搭建redis集群。现在希望能够修改里面的端口
6. 替换掉所有包含指定内容的文件(实用*****)
### sed-i.bak 's/原内容/新内容/g'`grep -lr "原内容" *`
1.txt,2.txt ,3.txt 文件中都含有 33 。现在使用sed命令替换33---》66
sed-i.bak 's/33/66/g'`grep -lr "33" *`
原文件内容:
替换后:
sed命令介绍
Linux sed 命令是利用脚本来处理文本文件。
sed 支持指定脚本的指令来处理、编辑文本文件。
Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
语法:
sed [-hnV][-e<script>][-f <script文件>][文本文件]
参数说明:
- -e或--expression=<script> 指定script来处理输入的文本文件。</li><li>-f<script文件>或--file=<script文件> 指定script文件来处理输入的文本文件。</li><li>-n或--quiet或--silent 仅显示script处理后的结果。</li><li>-V或--version 显示版本信息。</li></ul><div><br /></div><div><strong>动作说明:</strong></div><ul><li>a :新增, a 的后接字符串,字符串在新的一行出现(当前行的下一行)</li><li>i :插入, i 的后面接字符串,字符串会在新的一行出现(当前行的上一行);</li><li>c :替换, c 的后接字符串,这些字符串将取代 n1,n2 之间的行</li><li>s :替换, s搭配正则表达式。例 1,20s/old/new/g </li><li>d :删除,d 后不需要内容</li><li>p :打印,通常 p和参数 sed -n 一起使用</li></ul>