sed也是一个管道命令。

sed [-nefr] [动作]

-n 加上-n参数后,只有经过sed特殊处理的那些行才会被列出来

-e 直接在命令行模式进行sed的动作编辑

-i  直接修改读取的文件内容,而不是由屏幕输出。

-f 直接将sed的动作写在一个文件内,-f filename则可以执行filename内的sed动作

-r sed的动作支持的是扩展型正则表达式的语法

动作说明:

[n1][,n2]function

n1,n2:不见得会存在,一般代表选择进行动作的行数

function的参数:

a: 新增,a的后面可以接字符串,这些字符串会出现在新一行。(目前行的下一行)

c: 替换,c的后面可以接字符串,这些字符串可以替换n1,n2之间的行

d: 删除

i: 插入,i的后面可以接字符串,这些字符串会出现在目前行的前一行

p: 打印,通常与sed -n一起使用

s: 可以部分替换,s动作可以搭配正则表达式。 如: 1,20s/old/new/g

以行为单位的新增/删除功能

nl /etc/passwd | sed '2,5d' 表示删除2~5行,本应该执行sed -e,但是没有-e也行。sed后的动作,必须用' '括起来。如果要删除第3到最后一行,则是 nl /etc/passwd | sed '3,$d',那个"$"代表最后一行

在第二行前增加行。

nl /etc/passwd | sed '2i drink tea?'

在第二行后增加行

nl /etc/passwd | sed '2a drink tea?'

以行为单位的替换与显示功能

nl /etc/passwd | sed '2,5c No 2~5 number'

nl /etc/passwd | sed -n '2,5p' 只显示2~5行

部分数据的查找并替换的功能

sed 's/要被替换的字符串/新的字符串/g',可以用空串替换用以删除

例如: /sbin/ifconfig wlan0 | grep 'inet addr'| sed 's/^.*addr://g'| sed 's/Bc.*//g'    可以提取出来ip地址

直接修改文件内容

将regular_express.txt内每一行结尾为'.'的换成'!'

sed -i 's/\.$/\!/g' regular_express.txt

sed常用命令的更多相关文章

  1. [转]sed常用命令总结

    转自:http://blog.chinaunix.net/uid-26963748-id-3249732.html 一.Sed简介 Sed:Stream Editor  流式编辑器 又称行编辑器,每次 ...

  2. sed 常用命令 网址

    https://wangchujiang.com/linux-command/c/sed.html https://linux.cn/article-11367-1.html https://juej ...

  3. 23、sed常用命令

    1.匹配与不匹配: n p ! sed -n '/ATTGC/p' file1                ##-n打印匹配到的行输出,默认所有行输出. sed -n '/AT\|GC/p' fil ...

  4. akw、grep、sed常用命令

    awk 求和 cat data|awk '{sum+=$1} END {print "Sum = ", sum}' 平均值 cat data|awk '{sum+=$1} END ...

  5. sed 常用命令

    删除以ifeq开头的行 sed -i "/^ifeq/d" file 删除空行 sed -i '/^$/d' file

  6. grep,awk和sed的常用命令和语法

    Grep的常用命令语法 1. 双引号引用和单引号引用在g r e p命令中输入字符串参数时,最好将其用双引号括起来.例如:“m y s t r i n g”.这样做有两个原因,一是以防被误解为 s h ...

  7. Linux常用命令之sed(2)

    Sed SED的英文全称是 Stream EDitor,它是一个简单而强大的文本解析转换工具,在1973-1974年期间由贝尔实验室的Lee E. McMahon开发,今天,它已经运行在所有的主流操作 ...

  8. shell常用命令归类整理

    shell 命令整理     bash shell 含有许多功能,因此有许多可用的命令:本文档仅罗列了一些常用命令及其使用频率较高的参数.#本文档仅罗列了一些常用命令及其使用频率较高的参数.#vers ...

  9. Liunx 常用命令

    Liunx 常用命令================================================================================ 1. 远程拷贝文件 ...

随机推荐

  1. pycharm注册

    1.官方下载专业版,并安装 http://www.jetbrains.com/pycharm/download/#section=windows 2.下载crack激活包 http://idea.la ...

  2. Android Post方式发送信息和获取URL中的图片

    需要Internet权限,AndroidManifest.xml <uses-permission android:name="android.permission.INTERNET& ...

  3. 2个list取差集

    list操作 element in a list but not in other list,元素在一个list,不在另一个list 在数据量大的时候使用numpy的setdiff1d方法的性能非常好 ...

  4. “全栈2019”Java第七十章:静态内部类详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  5. ios处理键盘的大小

    iOS的键盘有几个通知 UIKeyboardWillShowNotification UIKeyboardDidShowNotification UIKeyboardWillHideNotificat ...

  6. nginx高性能WEB服务器系列之五--实战项目线上nginx多站点配置

    nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...

  7. Eclipse Java SE升级Java EE

    网上教程大多是提供了“http://download.eclipse.org/releases/ganymede/”地址,但是实际更新过程中会报错. 大致查询了一下,很可能是版本不匹配的问题,正确的更 ...

  8. python学习笔记1.4

    注释不被程序执行的辅助性说明信息- 单行注释:以#开头,其后内容为注释# 这里是单行注释- 多行注释:以'''开头和结尾''' 这是多行注释第一行这是多行注释第二行 ''' 保留字and elif i ...

  9. jquery选项卡效果

    效果图: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  10. python高级——目录

    目  录 python高级(一)—— python数据模型(特殊方法) python高级(二)—— python内置序列类型 python高级(三)—— 字典和集合(泛映射类型) python高级(四 ...