Linux中的sed行末/前一行/后一行追加字符

 更新时间:2023年12月27日 15:40:53   作者:刘瑾言  
这篇文章主要介绍了Linux中的sed行末/前一行/后一行追加字符,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

sed行末/前一行/后一行追加字符

sed命令
sed "/string/s/.*/&ttt/" file匹配行后面追加字符串
sed "4i\ttt" file第四行的前面加一行
sed "4a\ttt" file第四行后面加一行
sed -e "s/aaa/bbb/g" -e "s/bbb/ccc/g"多个命令拼接
sed "4d" file删除第四行
sed -i "4d" file在文件里面修改需要加上i
sed -n "4,$p" file打印第四行到末尾行
sed "4s/aaa/bbb/" file将第四行的aaa替换为bbb
sed -i '$a \aaaa' file在文末新增一行aaaa

linux sed命令

sedstream editor的简称,也就是流编辑器。

可以接受来自文件或者来自管道的流。

其语法格式为:

sed OPTIONS... [SCRIPT] [INPUTFILE...]

常用选项(OPTIONS)

  • -n 使用安静silent模式。在一般sed的用法中,所有来自stdin的内容一般都会被列出到屏幕上。但如果加上-n参数后,则只有经过sed特殊处理的那一行(或者动作)才会被列出来
  • -e 直接在指令列模式上进行 sed 的动作编辑
  • -f 直接将 sed 的动作写在一个文件内,-f filename则可以执行filename内的sed命令
  • -r 让sed命令支持扩展的正则表达式(默认是基础正则表达式)
  • -i 直接修改读取的文件内容,而不是由屏幕输出

实例:

假如我们有文件foxinbox.txt, 内容如下:

Knox in box.
Fox in socks.
Knox on fox in socks in box.
Socks on Knox and Knox in box. Fox in socks on box on Knox.

1、替换字符串:

sed 's/old_string/new_string/flags'  filename.txt

note:默认情况下, sed 命令只处理每一行的第一个匹配字符。 如果需要全部匹配的话,加上g参数即可。表示全局替换

note:替换每一行的第n次匹配字符。后面添加数字即可,数字表示第n次匹配。add a number flag such as 12, etc.:

例如只匹配第二次出现的box

sed -i  's/1883/8883/' file.json

将file.json文件中的1883字符串替换为8883

查找file.json文件中 url字符串所在的行,只打印行号

line=$(grep -n "url" file.json | busybox awk -F ":" '{print $1}')
echo $line

将filename文件中,字符串"url"所在的一整行替换为this is replace line

sed -i '/url/c\ this is replace line'  filename

这个文件有非常多的:作为分隔符,我们想更加直观地查看,

sed 's/:/\t/g' /etc/passwd

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • ubuntu中修改grub的启动时间生成

    ubuntu中修改grub的启动时间生成

    这篇文章主要介绍了ubuntu中修改grub的启动时间生成,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Ubuntu环境源码编译安装xdebug的方法

    Ubuntu环境源码编译安装xdebug的方法

    这篇文章主要介绍了Ubuntu环境源码编译安装xdebug的方法,较为详细的分析了Ubuntu环境xdebug编译安装的具体步骤、命令与相关操作注意事项,需要的朋友可以参考下
    2019-08-08
  • Linux系统中sudo命令的十个技巧总结

    Linux系统中sudo命令的十个技巧总结

    Linux 下使用Sudo 命令,可以让普通用户也能执行一些或者全部的root命令,下面这篇文章主要给大家介绍了关于Linux系统中sudo命令的十个技巧,需要的朋友可以参考借鉴,下面来一起看看吧。
    2018-04-04
  • Windows下安装Apache 2.2.21图文教程

    Windows下安装Apache 2.2.21图文教程

    这篇文章主要介绍了Windows下安装Apache 2.2.21图文教程,文中还列举了一些安装中可能遇到的常见问题,需要的朋友可以参考下
    2014-07-07
  • Linux中的最大线程数和句柄数详解

    Linux中的最大线程数和句柄数详解

    这篇文章主要介绍了Linux中的最大线程数和句柄数的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • 在Linux中配置IPv4和IPv6地址的方法详解

    在Linux中配置IPv4和IPv6地址的方法详解

    IPv4和IPv6是Internet上常用的两种IP地址协议,在Linux系统中,您可以通过配置网络接口来设置IPv4和IPv6地址,本文将详细介绍如何在Linux中配置IPv4和IPv6地址,需要的朋友可以参考下
    2024-09-09
  • kali linux 系统版本的查看方法

    kali linux 系统版本的查看方法

    今天小编就为大家分享一篇kali linux 系统版本的查看方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Linux如何处理文件已删除但空间不释放的问题

    Linux如何处理文件已删除但空间不释放的问题

    这篇文章主要介绍了Linux如何处理文件已删除但空间不释放的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 下载tomcat放到linux上步骤详解

    下载tomcat放到linux上步骤详解

    在本文里我们给大家整理了关于如何下载tomcat放到linux上的相关图文步骤以及知识点,需要的朋友们学习下。
    2019-05-05
  • linux之防火墙firewall解读

    linux之防火墙firewall解读

    本文介绍了如何使用`firewall-cmd`命令管理防火墙,配置Docker0服务到受信任连接,并详细解释了防火墙区域选项、IP集选项、ICMP类型选项、服务选项等
    2025-01-01

最新评论