在linux系统中,sed(Stream Editor)是一个非常重要的命令行工具,它主要用于对文本文件进行操作。其中,最常用的一个功能就是进行替换。
sed命令的基本语法是:
sed ‘s/替换前字符串/替换后字符串/g’ 文件名
其中,/g表示全局替换,如果不加则只替换每行中的之一个匹配字符串。
但是有时候,我们需要替换的不只是一个字符串,而是整行内容。这时候就需要用到sed命令的另一个命令:c、d。
其中,c代表替换整行内容,d代表删除整行。
替换整行内容的语法格式如下:
sed ‘n c 新的整行内容’ 文件名
其中,n表示要替换的行数,可以是单个数字也可以是数字范围,例如1、1,3、$(表示最后一行)。

举个例子,如果我们要将example.txt文件中第2行替换为“这是新的第2行内容”,则可以使用以下命令:
sed ‘2 c 这是新的第2行内容’ example.txt
需要注意的是,替换整行会将原来的内容完全覆盖,所以需要注意备份。
删除整行的语法格式如下:
sed ‘n d’ 文件名
同样,n表示要删除的行数,可以是单个数字也可以是数字范围。
举个例子,如果我们要将example.txt文件中第3行删除,则可以使用以下命令:
sed ‘3 d’ example.txt
需要注意的是,删除整行也会将原来的内容完全覆盖,所以同样需要注意备份。
起来,sed命令可以非常方便地实现整行替换,只需要掌握好命令的语法格式即可。不过在使用之前,一定要确保备份好原始数据,以免造成不必要的损失。
相关问题拓展阅读:
Linux中如何利用sed进行全匹配替换?
sed ‘s/\/new/简冲宽g’ file
用这个括号括判手起来,它就不会再影响单词内拦亮部了
sed ‘s/\/new/g’ file
这个是匹配单词一样的东西旁碰
意思就是限运激谈制它的宽度 去掉左右两边之一就相当于放宽铅斗那边不限制
linux sed 替换整行的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux sed 替换整行,Linux下使用sed命令实现整行替换,Linux中如何利用sed进行全匹配替换?的信息别忘了在本站进行查找喔。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
linux如何实现两个字符串相互替换
echo `echo AA BB CC DD|sed -e s/AA/@@/g|sed -e s/CC/AA/g|sed -e s/@@/CC/g`先把AA替换成@@然把CC替换成AA 再把@@替换为CC@@起中转的作用
linux sed echo命令
echo $X后就是a b c 然后 seds//\n/g的意思是将a b c 里的空格替换成换行,所以输出三行 a b c `命令`进行扩展时,Bash先执行命令,并把该命令的标准输出中最后面的换行符删除,用结果取代命令替换
shell脚本中 if 判断时候-s是什么意思
指的是文件大小非0时为真。 shell中怎么判断输入的是否是数字:第一种:sed格式首先:我们先(在命令行直接输出模拟一下,如果都正确再在shell脚本中进行书写。 )直接echo输出一下echo 111asd第一步:思想然后我们就要想一下我们要说用sed判断,但是sed的最主要的功能是什么?替换!!!当然是替换,既然是替换那么我们能不能直接把echo输出的数字直接替换掉,然后看这个输出还剩下什么呢?如果我们剩下的空,那么我就基本可以确定我echo输出的就是空,如果我sed替换之后不是空,那么我是不是就是可以认为我echo输出的不是数字或不全是数字呢?第二步:命令行测试:[root@localhost shell]# echo 111asd | sed s#[0-9]##g | cat -Aasd$[root@localhost shell]# echo 111 | sed s#[0-9]##g | cat -A$第三步:进行shell测试经过第二步我们很明显就能看出来这个想法是能够实现的。 所以在shell中配合-z(zero)-n(no zero)是完全可以实现的,所以这个时候我们就可以进行脚本的编写测试了。 #!/bin/bash############################################################### File name: # Version: V1.0# Author: ls# Created Time : 2017-02-24 06:25:13# Description:###############################################################交互式外部读取read -p pleace input: a1#if进行数字判断if [ -z $(echo $a1 | sed s#[0-9]##g) ]then#如果是数字输出yes给$?一个1的返回值并退出。 echo yesexit 1else#如果不是数字输出no给$?一个1的返回值并退出。 echo no[root@localhost shell]# sh input: 1yes[root@localhost shell]# sh input: q1no
发表评论