• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

雕刻自我

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Linux三剑客之sed

《鸟哥的Linux私房菜》学习笔记之sed工具

sed是一个管道命令,可以分析标准输入。而且sed还可以将数据进行替换、删除、新增、选取特定行等功能

  1、sed简单语法

    sed [-nefr] [操作]

sed选项与参数
-n

使用安静模式,在一般sed的用法中,所有来自stdin的数据一般都会被列

出到屏幕上,但如果加上-n后,则只有经过sed特殊处理的行才会被列出来

-e 直接在命令行模式上进行sed的操作编辑
-f 直接将sed的操作写在一个文件内,-f filename则可以执行filename内的sed操作
-r sed的操作使用的是扩展型正则表达式的语法。默认是基础正则表达式语法
-i 直接修改读取的文件内容,而不是由屏幕输出

 

操作说明:[n1],[n2]function
n1,n2 选择进行操作的行数
a 新增,a的后面接字符,这些字符会在新的一行出现,目前的下一行
c 替换,c的后面接字符,这些字符可以替换n1,n2之间的行
d 删除,因为是删除,所以d后面通常不接任何东西
i 插入,i的后面接字符,这些字符会在新的一行出现,目前的上一行
p 打印,亦即将某个选择的数据打印出来。通常p会与参数sed -n一起运行
s 替换,通常这个s的操作可以搭配正则表达式,例如1,20s/old/new/g

输入内容超过多行时,每一行之间都必须要以反斜杠【\】来进行新行的增加

  2、扩展正则表达式

    grep默认仅支持基础正则表达式,如果使用扩展正则可以使用grep -E或者egrep

扩展正则表达式
+

重复【一个或一个以上】的前一个RE字符,查找god、good、goood等:

egrep -n 'go+d' filename

?

【零个或一个】的前一个RE字符,查找gd,god这两个字符串:

egrep -n 'go?d' filename

|

或,查找gd或good这两个字符:

egrep -n 'gd|good' filename

()

找出群组字符串,查找glad或good这两个字符,其中g和d分别在这两个词的前后

egrep -n 'g(la|oo)d' filename

()+

多个重复群组的判别,查找以A开头、C结尾、中间由多个xyz组成的字符串:

egrep -n 'A(xyz)+C' filename

鸟哥私房菜链接:http://linux.vbird.org/linux_basic_train/unit03.php

 

posted on 2020-06-01 22:20  雕刻自我  阅读(131)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3