首页 > 系统 > Linux > 正文

linux中sed命令如果实现替换

2024-08-27 23:54:55
字体:
来源:转载
供稿:网友
  本篇内容主要讲解“linux中sed命令如果实现替换”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux中sed命令如果实现替换”吧!
 
 
  方法: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文件>][文本文件]
  参数说明:
 
  -e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。
  -f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
  -h或--help 显示帮助。
  -n或--quiet或--silent 仅显示script处理后的结果。
  -V或--version 显示版本信息。
  动作说明:
 
  a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
  c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
  d :删除,因为是删除啊,所以 d 后面通常不接任何东东;
  i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
  p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
  s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
  示例如下:
 
  将第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

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表