zoukankan      html  css  js  c++  java
  • linux 下ed编辑文件的一些东东(从网上搜来的)

    基本应用:
    1,$n             打印文件内容,并加行号信息
    n                到第n行(n为数字)
    n                显示当前行的内容(n为字符)
    d                删除该行
    /xx/             查找xx
    ?xx?             反向查找xx
    //               查找下一个
    s/str1/str2/     当前行中替换str1为str2
    ns/str1/str2/    在第n行中替换str1为str2
    a,c,i            在当前行操作(a:在行后添加  c:修改行内容 i:在行前插入)
    命令参数:
    ed file
    出错时,h提供简单帮助信息,H提供详细帮助信息,用a,c,I进入输入方式,在单独一行上用,回到命令格式保存文件w.   Wq =x
    p  .p 显示当前行
    =  显示当前行的行号
    np  显示第n 行
    1,6p  显示1-6行
    $p   显示最后一行
    1,$p显示所有行
    +  显示下一行
    - 显示上一行
    n  显示当前行及行号
    nn  显示第n行及行号
    x,yn  显示x—y行及行号
    l   显示当前行包括非打印字符
    d   删除当前行
    u   取消最后命令
    s /str1/str2   用 str2 取代str1
    s/str1//    删除str1
    2s/str1/str2/n   第2 行的str1改为str2并显示修改后的行
    s/str1/str2/g   全程替换
    <first>,<end>m<line>
    2,4m6    第2—4行移到第6行之后
    t 块拷贝格式同m
    r file  将文件读到当前行后
    <first>,<end> w file   写块到文件
    !cmd   执行shell命令
    /模式/   正向查找命令
    ?模式?反向查找命令
    //  继续找第2个
    g/the/p   全程查找并显示
    g/the/s/the/that/   全程查找the并用that代替the
    v与g命令相反
    v/the/n   全程查找不包含the 并显示
    无字符
    ^代表行首   $行尾    .任意字符   *任意多个与前面相同字符
    /A….B/   以A开关B结尾中间3个任意
    . s/. /.     第1个 . 当前行
             第2 个 . 任意字符
             第3个 . 字符
    s/xx*/y/   用y代替2个或2个以上的x
    s/x*y/y/   用y代替以x开头以y结束的所有字符
    &代表第1个模式内容
    /模式1/(模式1)/=/模式1/(&)/
    [xz]表示x或z
    [0-9]表示0-9的任意数字

     ----------------------------------------------------------------------------------------------

     ed 编辑器是 Linux 操作系统下最简单的文本编辑器。它是以行为单位对文件进行编辑的编辑器,而不像 MS-DOS 系统下的 edit 那样是以整个屏幕框架为单位对文件进行编辑的。因此,如果你已经习惯了使用 edit 这种风格的编辑器,那么你可能需要一段时间才能习惯 ed 的风格。但是这并不重要,因为 ed 的简便性可以使你很快上手的。

    ed 编辑器的调用很简单,如果你想新建一个文件,那么只需要在命令行窗口中敲入 ed 然后按下回车键即可:

    [titan@localhost titan]$ ed <-

    如果你想编辑一个已经存在的文件,那么你只要在 ed 的后面空一个,然后敲入文件名即可:

    [titan@localhost titan]$ ed filename <-

    激活 ed 命令后进入的是 ed 编辑器的命令行状态,这可能使一些初学者有些不习惯,如果你这时候随便敲入一些内容,系统会返回一个 ?,表示不知道你要执行什么任务:

    [titan@localhost titan]$ ed <-

    abcde <-

    ?

    这时候你要明确几个编辑器命令,它们是:

    a - 在文件的末尾添加新内容

    i - 在文件的最后一行之前插入新内容

    o - 把文件输入的最后一行(不论是原来存在的或者插入的)替换成新内容

    . - 退出编辑文件模式进入命令行模式(注意:此时并没有退出 ed 编辑器)

    w - 保存文件

    q - 真正退出 ed 编辑器

    下面我将就着几个命令举例说明一下。

    [titan@localhost titan]$ ed <- 激活 ed 命令

    a <- 告诉 ed 我要编辑新文件

    My name is Titan. <- 输入第一行内容

    And I love Perl very much. <- 输入第二行内容

    . <- 返回 ed 的命令行状态

    i <- 告诉 ed 我要在最后一行之前插入内容

    I am 24. <- 将“i am 24.”插入“my name is titan.”和“and i love perl very much.”之间

    . <- 返回 ed 的命令行状态

    c <- 告诉 ed 我要替换最后一行输入内容

    I am 24 years old. <- 将“i am 24.”替换成“i am 24 years old.”(注意:这里替换的是最后输的内容)

    . <- 返回 ed 的命令行状态

    w readme.text <- 将文件命名为“readme.text”并保存(注意:如果是编辑已经存在的文件,只需要敲入 w 即可)

    q <- 完全退出 ed 编辑器

    [titan@localhost titan]$ 返回到 Linux 系统的命令行状态

    这是文件的内容是:

    [titan@localhost titan]$ cat readme.text <-

    My name is Titan.

    I am 24 years old.

    And I love Perl vrey much.

    [titan@localhost titan]$

  • 相关阅读:
    来电科技:基于Flink+Hologres的实时数仓演进之路
    实时计算 Flink 版总体介绍
    阿里云江岑:云原生在边缘形态下的升华
    xshell帮助
    版本控制工具之git
    批量修改ubuntu用户sudo免密码
    matplotlib按钮控制图像显示
    为ssh主机设置别名
    VScode正则表达式批量删除字符串
    SQL Server 操作XML数据
  • 原文地址:https://www.cnblogs.com/forward/p/1387766.html
Copyright © 2011-2022 走看看