Linux笔记50--Shell编程5-字符截取命令4-sed命令

Linux笔记50–Shell编程5-字符截取命令4-sed命令

student.txt:

ID Name PHP LINUX MySQL Average
1 Liming 82 95 86 87.66
2 Sc 74 96 87 85.65
3 Gao 99 83 93 91.66

  1. sed命令

    sed是一种几乎包括在所有UNIX平台(包括Linux)的轻量级流编辑器。sed主要是用来将数据进行选取,替换,删除,新增的命令。不仅可以编辑文件,还可以直接编辑命令结果

  2. 命令格式

    sed [选项] ‘[动作]’ 文件名

    • 选项
    选项含义
    -n一般sed命令会把所有数据都输出到屏幕,如果加入此选项,则只会把经过sed命令处理的行输出到屏幕
    -e允许对输入数据应用多条sed命令编辑
    -i用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出(不光修改输出数据,原数据也会进行更改)
    • 动作

      动作含义
      a :追加,在当前行后添加一行或多行。添加多行时,出最后一行外,每行行末尾需要用“\”代表数据未完结
      c :行替换,用c后面的字符串替换原数据行,替换多行时,除最后一行外,每行末尾需用“\”代表数据未完结
      i :插入,在当前行前插入一行或多行。插入多行时,除最后一行外,每行末尾需用“\”代表数据未完结
      d:删除,删除指定的行
      p:打印,输出指定的行
      s:字串替换,用一个字符串替换另外一个字符串。格式:“行范围s/旧字串/新字串/g”
  3. 行替换例子

    • sed -n ‘2p’ student.txt #查看第二行

    • df -h | sed -n ‘2p’ #查看命令结果第二行,可以跟在管道符之后

    • sed ‘2,4d’ student.txt #删除第二行第四行的数据,但不修改文件本身

    • sed '2a hello \

      world’ student.txt #在第二行后追加两行数据

    • sed ‘2c No such person’ student.txt #替换第二行数据

  4. 字符串替换例子

    sed ‘s/旧字符串/新字符串/g’ 文件名

    • sed ‘3s/74/99/g’ student.txt #在第三行中,把74改成99
    • sed -e ‘s/Liming//g;s/Gao//g’ student.txt #把文件中所有的"Liming"和"Gao"字符串替换为空
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值