• 技术文章 >运维 >linux运维

    linux中sed命令怎么实现替换

    长期闲置长期闲置2022-02-25 16:25:06原创1058

    方法:1、设置参数“c”,c的后面可以接字串,这些字串可以替换指定的行,语法为“ sed '行数c 替换后内容'”;2、设置参数“s”,可以直接进行替换工作,语法为“sed 's/要被取代的字串/新的字串/g'”。

    本教程操作环境:linux7.3系统、Dell G3电脑。

    linux中sed命令怎么实现替换

    Linux sed 命令是利用脚本来处理文本文件。

    sed 可依照脚本的指令来处理、编辑文本文件。

    Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

    语法

    sed [-hnV][-e<script>][-f<script文件>][文本文件]

    参数说明:

    动作说明:

    示例如下:

    将第2-5行的内容取代成为『No 2-5 number』呢?

    [root@www ~]# nl /etc/passwd | sed '2,5c No 2-5 number'
    1 root:x:0:0:root:/root:/bin/bash
    No 2-5 number
    6 sync:x:5:0:sync:/sbin:/bin/sync
    .....(后面省略).....

    除了整行的处理模式之外, sed 还可以用行为单位进行部分数据的搜寻并取代。基本上 sed 的搜寻与替代的与 vi 相当的类似!他有点像这样:

    sed 's/要被取代的字串/新的字串/g'

    先观察原始信息,利用 /sbin/ifconfig 查询 IP

    [root@www ~]# /sbin/ifconfig eth0
    eth0 Link encap:Ethernet HWaddr 00:90:CC:A6:34:84
    inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
    inet6 addr: fe80::290:ccff:fea6:3484/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    .....(以下省略).....

    本机的ip是192.168.1.100。

    将 IP 前面的部分予以删除

    [root@www ~]# /sbin/ifconfig eth0 | grep 'inet addr' | sed 's/^.*addr://g'
    192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0

    接下来则是删除后续的部分,亦即: 192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0

    将 IP 后面的部分予以删除

    [root@www ~]# /sbin/ifconfig eth0 | grep 'inet addr' | sed 's/^.*addr://g' | sed 's/Bcast.*$//g'
    192.168.1.100

    相关推荐:《Linux视频教程

    以上就是linux中sed命令怎么实现替换的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:linux
    上一篇:linux中动态链接和静态链接的区别是什么 下一篇:linux怎么保存修改的文件
    千万级数据并发解决方案

    相关文章推荐

    • linux 建模软件有哪些• linux中FTP与sftp的区别是什么• linux句柄是什么• linux制图软件有哪些• linux的文本文字处理软件有哪些
    1/1

    PHP中文网