linux sed 总结

作者: hiekay | 来源:发表于2019-02-15 19:40 被阅读53次

1.简介

sed是一种行编辑器,它一次处理一行内容。

2.sed调用方式

sed [options] 'command' file(s)
sed [options] -f scriptfile file(s)

第一种直接在命令行中执行,第二种把命令写到了脚本中,二者无本质区别。

  • 示例(1):打印hello.txt的内容
sed -n p hello.txt

说明:
-n:sed会在处理一行文本前,将待处理的文本打印出来,-n参数关闭了这个功能
p:命令表示打印当前行
hello.txt:待处理的文件
这个指令相当于cat

3.定址

告诉sed你期望处理的行,由逗号分隔的两个数字表示,$符号表示最后一行;
当然也可以使用正则来定位期望处理的行。

  • 示例(2):打印hello.txt的第二行到最后一行
sed -n '2,$'p hello.txt
  • 示例(3):打印hello.txt中正则匹配"100"的行
sed -n '/100/'p hello.txt 

4.基本命令

hello.txt的内容为

1 2 3
10 20 30
100 200 300
  • 命令:a
    在匹配行的后面加入一行文本

  • 示例(4)匹配100的行,后面加入一行"new line"

sed '/100/'a\ "new line" hello.txt

输出内容为:

1 2 3
10 20 30
100 200 300
new line
  • 命令:i
    在匹配行的前面加入一行文本

  • 示例(5)匹配100的行,前面加入一行"new line"

sed '/100/'i\ "new line" hello.txt

输出内容为:

1 2 3
10 20 30
new line
100 200 300
  • 命令:c
    将匹配行替换为目的行

  • 示例(5)匹配100的行,替换为"new line"

sed '/100/'c\ "new line" hello.txt

输出内容为:

1 2 3
10 20 30
new line
  • 命令:d
    将匹配行删除

  • 示例(5)删除匹配100的行

sed '/100/'d hello.txt

输出内容为:

1 2 3
10 20 30
  • 命令:s
    将匹配行替换
    详细命令为:s/pattern-to-find/replacement-pattern/g
    pattern-to-find:被替换的串
    replacement-pattern:替换成这个串
    g:全部替换,默认只替换匹配到的第一个
  • 示例(5)讲100替换为hello
sed 's/100/hello/g' hello.txt 

输出内容为:

1 2 3
10 20 30
hello 200 300

5.元字符集

^:匹配一行的开始
$:匹配一行的结束
.:匹配某个字符
[abc]:匹配指定范围字符

6.实用命令

匹配以10开头的行,并替换为yes,并输出

sed -n 's/^10/yes/p' hello.txt

输出内容为:

yes 20 30
yes0 200 300

取出文件中行手的行号与冒号
设hello.txt的内容为

1:#!/bin/sh
2:cat hello.txt
3:exit

命令:

sed -n -e 's/^[0-9]\{1,\}://g'p hello.txt

输出结果为:

#!/bin/sh
cat hello.txt
exit

相关文章

  • linux sed 总结

    1.简介 sed是一种行编辑器,它一次处理一行内容。 2.sed调用方式 sed [options] 'comma...

  • Linux 学习笔记(十四):Linux 正则表达式基础

    grep 命令 作为linux中最为常用的三大文本(awk(Linux awk教程),sed(Linux sed教...

  • linux sed 替换

    1. linux sed -i 命令 Linux sed 命令是利用脚本来处理文本文件。 sed 可依照脚本的指令...

  • sed常用模板整理

    sed可以按照指令或脚本编辑文本的linux工具,文本处理功能非常强大,本文总结一些工作中常用的sed模板,方便大...

  • 常用日志过滤命令

    @(Linux)[sed,字符串] sed常用语法记录 sed查找字符串sed -n '/string/p' fi...

  • linux中sed切割方法,linux中sed用法

    SED是什么? sed:Stream EDitor 流编辑器SED是一项Linux[https://so.csdn...

  • sed替换linux路径的问题

    sed使用正则做替换,格式为 但是,在做sed替换linux路径时,遇到一个问题。因为linux的路径分割也是/,...

  • Adb Shell输入带空格的文本串

    使用GNU Linux的 - sed的安装(大多数Linux机器提供它预装) - 你可以用sed来替换%s的空间。...

  • LINUX sed命令的使用

    LINUX sed命令的使用 命令格式 sed常用命令 sed替换标记 sed元字符集 已匹配字符串标记& ⼦串匹...

  • sed 命令学习

    参考极客学院:正则表达式和 SED参考菜鸟教程:Linux sed命令参考酷壳:SED 简明教程 sed匹配没有问...

网友评论

    本文标题:linux sed 总结

    本文链接:https://www.haomeiwen.com/subject/dpvmeqtx.html