linux系统中sed命令怎么用? sed锁定某一行数据进行替换的技巧
<p>Linux中sed命令功能强大,今天我们就来详细介绍如何在Linux中使用sed命令进行替换,具体来说分为以下几种情况:</p><p>1)如何替换第一次搜索到的内容;</p>
<p>2)如何在全文中替换所有能匹配的内容;</p>
<p>3)如何替换某一行的内容;</p>
<p>4)如何替换多行的内容;</p>
<p>5)如何将sed替换结果保存到原文中;</p>
<p>6)如何同时使用多个sed替换条件;</p>
<p>7)如何使用正则表达式。</p>
<p>1、<strong>替换第一次搜索到的内容,</strong>命令如下:</p>
<p><span style="color: #ff0000"><strong>sed 's/要替换的内容/新的内容/' 要处理的文件</strong></span></p>
<p>如下图,将第一个小写的b替换成了大写的B。</p>
<p align="center"><img alt="" src="https://img.jbzj.com/file_images/article/202009/20200907164533165.png" /></p>
<p>2、<strong>在全文中替换所有能匹配的内容</strong>,命令如下:</p>
<p><span style="color: #ff0000"><strong>sed 's/要替换的内容/新的内容/g' 要处理的文件</strong></span></p>
<p>如下图,将所有的小写的b替换成了大写的B。</p>
<p align="center"><img alt="" src="https://img.jbzj.com/file_images/article/202009/20200907164533166.png" /></p>
<p>3、<strong>替换某一行的内容</strong>,命令如下:</p>
<p><span style="color: #ff0000"><strong>sed '行号c 新的内容' 要处理的文件</strong></span></p>
<p>如下图,将第二行内容替换成了“new test!”</p>
<p align="center"><img alt="" src="https://img.jbzj.com/file_images/article/202009/20200907164533167.png" /></p>
<p>4、<strong>替换多行的内容</strong>,命令如下:</p>
<p><span style="color: #ff0000"><strong>sed '起始行号,终止行号c 新的内容' 要处理的文件</strong></span></p>
<p>如下图,将第二行到第六行内容替换成了“new test!”</p>
<p align="center"><img alt="" src="https://img.jbzj.com/file_images/article/202009/20200907164534168.png" /></p>
<p>5、上述这些替换命令都只是将替换的结果显示在屏幕上,如<strong>果想替换的结果直接保存到原文中,就只需加上-i参数</strong>。如下图所示。</p>
<p><span style="color: #ff0000"><strong>sed -i 's/要替换的内容/新的内容/g' 要处理的文件</strong></span></p>
<p align="center"><img alt="" src="https://img.jbzj.com/file_images/article/202009/20200907164534169.png" /></p>
<p>6、多个sed命令也可以用-e参数连接起来,一次性完成多个操作。如下图,首先将小写a替换成了大写A,然后又将第二行内容替换成了“new test!”</p>
<p align="center"><img alt="" src="https://img.jbzj.com/file_images/article/202009/20200907164534170.png" /></p>
<p>7、再有,sed命令中替换与被替换的部分都允许使用正则表达式。比如,以下命令将所有数字替换成了“好的”。</p>
<p><span style="color: #ff0000"><strong>sed 's//好的/g' testFile2.txt</strong></span> </p>
<p align="center"><img alt="" src="https://img.jbzj.com/file_images/article/202009/20200907164534171.png" /></p>
<p><span style="color: #ff0000"><strong>注意:</strong></span></p>
<p>在输入Linux命令前,一定要将输入法切换成英文半角符号状态。从Windows电脑上复制命令到Linux Terminal中执行时,也有可能遇到格式不正确造成的命令执行错误,这时建议手动重新输入字符,如果觉得输入麻烦,可以只删除命令中的空格和最后一个字符后,重新输入空格和最后一个字符。</p>
<p>以上就是sed锁定某一行数据进行替换的技巧,希望大家喜欢,请继续关注琼殿技术社区。</p>
<p><strong>相关推荐: </strong></p>
<p><a target="_blank" href="https://www.jb51.net/LINUXjishu/661964.html">linux怎么使用命令返回上一级目录?</a></p>
<p><a target="_blank" href="https://www.jb51.net/LINUXjishu/713176.html">linux系统怎么使用alias创建命令别名? </a></p>
<p><a target="_blank" href="https://www.jb51.net/LINUXjishu/712272.html">linux系统怎么使用vmstat命令显示虚拟内存状态?</a></p>
頁:
[1]