首页
学习
活动
专区
圈层
工具
发布

【linux命令讲解大全】081.sed:功能强大的流式文本编辑器

c\ # 把选定的行改为新的文本。 d # 删除,删除选择的行。 D # 删除模板块的第一行。 s # 替换指定字符 h # 拷贝模板块的内容到内存中的缓冲区。...y # 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 # 子串匹配标记 & # 已匹配字符串标记 sed元字符集 ^ # 匹配行开始,如:/^sed/匹配所有以sed开头的行。...& # 保存搜索字符用来替换其他字符,如s/love/ & /,love这成 love 。 匹配单词的开始,如:/匹配包含以love开头的单词的行。...> # 匹配单词的结束,如/love>/匹配包含以love结尾的单词的行。 x{m} # 重复字符x,m次,如:/0{5}/匹配包含5个0的行。...x{m,} # 重复字符x,至少m次,如:/0{5,}/匹配至少有5个0的行。 x{m,n} # 重复字符x,至少m次,不多于n次,如:/0{5,10}/匹配5~10个0的行。

90010

Linux系统开发: 学习linux三剑客(awk、sed、grep)(上)

c\ 把选定的行改为新的文本。 d 删除,删除选择的行。 D 删除模板块的第一行。 s 替换指定字符,字符间可用/或@或#隔开 h 拷贝模板块的内容到内存中的缓冲区。...& 保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。 \匹配单词的开始,如:/\匹配包含以love开头的单词的行。...\> 匹配单词的结束,如/love\>/匹配包含以love结尾的单词的行。 x\{m\} 重复字符x,m次,如:/0\{5\}/匹配包含5个0的行。...x\{m,\} 重复字符x,至少m次,如:/0\{5,\}/匹配至少有5个0的行。...x\{m,n\} 重复字符x,至少m次,不多于n次,如:/0\{5,10\}/匹配5~10个0的行 3.7 脚本地址定界 / 在sed中作为定界符使用,也可以使用任意的定界符:| / 定界符出现在样式内部时

10.5K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linux中sed命令总结

    G # 获得内存缓冲区的内容,并追加到当前模板块文本的后面。 l # 列表不能打印字符的清单。 n # 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。...& # 保存搜索字符用来替换其他字符,如s/love/ **&** /,love改成 **love** 。 \匹配单词的开始,如:/\匹配包含以love开头的单词的行。...\> # 匹配单词的结束,如/love\>/匹配包含以love结尾的单词的行。 x\{m\} # 重复字符x,m次,如:/0\{5\}/匹配包含5个0的行。...x\{m,\} # 重复字符x,至少m次,如:/0\{5,\}/匹配至少有5个0的行。 x\{m,n\} # 重复字符x,至少m次,不多于n次,如:/0\{5,10\}/匹配5~10个0的行。...之间的行,每行的末尾用字符串aaa bbb替换: sed '/test/,/west/s/$/aaa bbb/' file 多点编辑:e命令 -e选项允许在同一行里执行多条命令: sed -e '1,5d

    4.3K20

    Sed..

    G # 获得内存缓冲区的内容,并追加到当前模板块文本的后面。 l # 列表不能打印字符的清单。 n # 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。...& # 保存搜索字符用来替换其他字符,如s/love/ **&** /,love这成 **love** 。 \匹配单词的开始,如:/\匹配包含以love开头的单词的行。...\> # 匹配单词的结束,如/love\>/匹配包含以love结尾的单词的行。 x\{m\} # 重复字符x,m次,如:/0\{5\}/匹配包含5个0的行。...x\{m,\} # 重复字符x,至少m次,如:/0\{5,\}/匹配至少有5个0的行。 x\{m,n\} # 重复字符x,至少m次,不多于n次,如:/0\{5,10\}/匹配5~10个0的行。...之间的行,每行的末尾用字符串aaa bbb替换: sed '/test/,/west/s/$/aaa bbb/' file 多点编辑:e命令 -e选项允许在同一行里执行多条命令: sed -e '1,5d

    2.3K20

    可以用在 VS Code 中的正则表达式小技巧

    你需要通过选中此选项启用RegEx 你需要通过选中此选项启用RegEx 1) . —  匹配任何字符 让我们开始吧。点符号 . 用来匹配任何字符: 1b.t ?....*  —  匹配任何东西 这里 . 表示“任何字符”, * 表示“此符号重复前面那个内容任何次数。” 把它们放在一起(.*)表示“任何符号重复任意次数。”...替换结果 5) [ ]  —  字符类 你可以在[和 ] 符号内来列出要在特定位置匹配的字符。例如,[0-9]匹配从0到9的所有数字。...你也可以使用带字母的破折号,[a-z] 将匹配所有小写拉丁字符,[A-Z] 将匹配所有大写拉丁字符,[a-zA-Z] 将会匹配两者。 你也可以在字符类之后使用 *,就像在 ....之后一样,在这种情况下意味着:“匹配此类中任意数量的字符” ? expect.*to.equal\([0–9]*\): 仅匹配我们期望测试变量等于数字的那些行 后记 你应该知道有几种正则表达式的写法。

    5.8K20

    Linux sed 命令的使用

    在当前行下面插入文本 i \ 在当前行上面插入文本 c\ 将选定的行,改为新的文本 D 删除模板块的第一行 d 删除选择的行 g 获取缓冲区的内容,并替换当前模板块中的文本 G 。。。。。。。。...y 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 子串匹配标记 & 已匹配字符串标记 元字符集 ^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。...[^] 匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。...\匹配单词的开始,如:/\ 匹配单词的结束,如/love\>/匹配包含以love结尾的单词的行。 x\{m\} 重复字符x,m次,如:/0\{5\}/匹配包含5个0的行。...x\{m,\} 重复字符x,至少m次,如:/0\{5,\}/匹配至少有5个0的行。 x\{m,n\} 重复字符x,至少m次,不多于n次,如:/0\{5,10\}/匹配5~10个0的行。

    3.9K100

    上古神器 sed 教程详解,小白也能看的懂

    *,表示任意一个字符有 0 个或多个,也就是能匹配任意的字符; ^,表示行首,也就是每一行的开始位置,^abc 匹配以 abc 开头的字符串; ,表示行尾,也就是每一行的结尾位置,} 匹配以大括号结尾的字符串...; {},表示前边字符的数量范围,{2},表示重复 2 次,{2,}重复至少 2次,{2,4} 重复 2-4 次; [],括号中可以包含表示字符集的表达式,使用方法大概如下几种 ?...2 来表示匹配的变量 {}:和基本正则中的大括号中意义相同,只不过使用时不用加 转义符号; 基本语法 先介绍下 sed 的基本语法。...'/hello/d' file.txt # 删除空行,"^$" 表示空行 $ sed '/^$/d' file.txt # 将匹配到以ts开头的行到以te开头的行之间所有行进行删除 $ sed '/^...ts/,/^te/d' file.txt (三)数字定址和正则定址混用 数字定址和正则定址可以配合使用 # 匹配从第1行到ts开头的行,把匹配的行执行删除 $ sed '1,/^ts/d' file.txt

    3.2K30

    正则表达式【Pattern 】

    ) [\p{L}&&[^\p{Lu}]] 所有字母,大写字母除外(减去) 边界匹配器^行的开头$行的结尾\b单词边界\B非单词边界\A输入的开头\G上一个匹配的结尾\Z输入的结尾,仅用于最后的结束符(如果有的话...以下代码被识别为行结束符: 新行(换行)符 ('\n')、 后面紧跟新行符的回车符 ("\r\n")、 单独的回车符 ('\r')、 下一行字符 ('\u0085')、 行分隔符 ('\u2028')...默认情况下,正则表达式 ^ 和 忽略行结束符,仅分别与整个输入序列的开头和结尾匹配。如果激活 MULTILINE 模式,则 ^ 在输入的开头和行结束符之后(输入的结尾)才发生匹配。...与 Perl 5 相比较 Pattern 引擎用有序替换项执行传统上基于 NFA 的匹配,与 Perl 5 中进行的相同。 此类不支持 Perl 构造: 条件构造 (?{X}) 和 (?...此类支持但 Perl 不支持的构造: Possessive 数量词,它可以尽可能多地进行匹配,即使这样做导致所有匹配都成功时也如此。 字符类并集和交集,如上文所述。

    1.2K40

    vim 学习笔记(四)—— 常用命令汇总

    “命令与”/“的工作相同,只是搜索方向相反.“N"命令会重复前一次查找,但是与最初用”/“或”?“指定的搜索方向相反。...如果只是想去掉当前的高亮显示,可以使用下面的命令:“:nohlsearch”(可以简写为noh)。 21.匹配一行的开头与结尾 ^ 字符匹配一行的开头。$字符匹配一行的末尾。...它等待你键入下一个字符用以替换当前光标下的那个字符。“r"命令前辍以一个命令记数是将多个字符都替换为即将输入的那个字符。要把一个字符替换为一个换行符使用"r”。它会删除一个字符并插入一个换行符。...比如,正在编辑"fab1.Java",用命令"50%mF"在文件的中间设置一个名为F的标记。然后在"fab2.java"文件中,用命令"GnB"在最后一行设置名为B的标记。...在可以用"F"命令跳转到文件"fab1.java"的半中间。或者编辑另一个文件,“'B"命令会再把你带回文件"fab2.java"的最后一行。

    2.9K31

    常见linux命令介绍-sed

    c\ 把选定的行改为新的文本。 d 删除,删除选择的行。 D 删除模板块的第一行。 s 替换指定字符 h 拷贝模板块的内容到内存中的缓冲区。 H 追加模板块的内容到内存中的缓冲区。...y 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 子串匹配标记 & 已匹配字符串标记 sed元字符集 符号 说明 ^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。...[^] 匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。 (..)...x\{m\} 重复字符x,m次,如:/0\{5\}/匹配包含5个0的行。 x\{m,\} 重复字符x,至少m次,如:/0\{5,\}/匹配至少有5个0的行。...x\{m,n\} 重复字符x,至少m次,不多于n次,如:/0\{5,10\}/匹配5~10个0的行。

    2.2K10

    Sed三剑客入门与进阶

    c 把选定的行改为新的文本(类似于替换)。 d 删除选择的行 D 删除模板块的第一行 s 替换指定字符 h 拷贝模板块的内容到内存中的缓冲区。 H 追加模板块的内容到内存中的缓冲区。...y 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 子串匹配标记 & 已匹配字符串标记 sed元字符集-即正则表达式 ^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。...& 保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。 \匹配单词的开始,如:/\匹配包含以love开头的单词的行。...\> 匹配单词的结束,如/love\>/匹配包含以love结尾的单词的行。 x\{m\} 重复字符x,m次,如:/0\{5\}/匹配包含5个0的行。...x\{m,\} 重复字符x,至少m次,如:/0\{5,\}/匹配至少有5个0的行。 x\{m,n\} 重复字符x,至少m次,不多于n次,如:/0\{5,10\}/匹配5~10个0的行。

    3.7K10

    linux常用命令(7)——文件处理

    查找与替换: 查找关键字:: /关键字(按 n 下一个匹配,N 上一个匹配,如 :/Linux 查找 “Linux”); 替换(当前行)::s/旧内容/新内容(如 :s/Hello/Hi 替换当前行第一个...“Hello” 为 “Hi”); 替换(全行)::s/旧内容/新内容/g(g=global,替换当前行所有匹配); 替换(全文):: %s/旧内容/新内容/g(% 表示所有行,如 :%s/Linux/...格式: sed [选项] ‘脚本命令’ 文件名 常用选项与脚本命令 选项 功能 脚本命令 功能 -i 直接修改原文件(默认仅输出到终端,不修改原文件) s/旧/新 替换(默认每行第一个匹配) -n...仅显示匹配的行(默认显示所有行) s/旧/新/g 全局替换(每行所有匹配) d 删除匹配的行 p 打印匹配的行(常与 -n 配合) ** 示例**: 替换文本(输出到终端,不修改原文件):...test.txt # 删除所有以“#”开头的行(注释行),输出结果 打印匹配行: sed -n '/root/p' /etc/passwd # 仅打印 /etc/passwd 中包含“root”的行

    39710

    Sed 命令

    显示:发送修改后的内容到输出流。在发送数据后,模式空间将会被清空。在所有的文件内容都被处理完成之前,上述过程将重复执行,直至所有内容被处理完。...d:删除,删除选定的行a:增加,在当前行下面增加一行指定内容i:插入,在选定行上面插入一行指定内容c:替换,将选定行替换为指定内容y:字符转换,转换前后的字符长度必须相同p:打印,如果同时指定行;如果不指定行...通常与 -n 选项一起使用=:打印行号l:打印数据流中的文本和不可打印的ASCII字符r:在指定行下面读取文件内容w:将文件内容保存到新文件中二、打印命令演示1.打印文件内容#打印文件a.txt,sed...#sed编辑器会重复删除符合内容,#当匹配到从 t 开头的行会执行删除操作,直到找到以 e 开头的行。...9sed 's9e919g' a.txton1twothr11fourfiv1sixs1v1n1ightnin1t1n1l1v1ntw1lv15.字符转换#替换前后字符长度相同#将 n 替换为 1;将

    1K10

    Linux 基础命令(收藏大全)

    -f 在复制的时候如果碰到目的文件名有重复就将原先的删除 ------------ 命令: mv 移动文件或目录/修改文件或目录名 命令格式: mv [选项] 源文件 目的路径 -i 如果目的地有相同文件名时会出现提示...-v:不输出匹配的行 -A :显示所找的匹配字段,并显示下面指定的行数的信息 -B :显示所找的匹配字段,并显示上面指定的行数的信息 正则表达式表示方法: 忽略正则表达式中特殊字符的原有含义...打印匹配test关键的行并显示行号 grep -n “test” grepcmd.txt 5. 查找开头为”#”的行,并显示行号 grep -n ^# grepcmd.txt 6....查找含有以”A-F”字符开头的行 grep -r “^[A-F]” ./ 11. 查找含有以”A-F”字符开头,第2个字符为i的行 grep “^[A-F]i” grepcmd.txt 12....查找以D或d字符为开头的行 egrep '(^D|^d)' egrepcmd.txt 15.匹配以D开头的0个或1个字符 egrep ^D?

    2.3K40

    sed入门详解教程 原

    处理时,把当前处理的行存储在临时缓冲区中,成为"模式空间",接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。...符号"^" "^"表示行首的意思,也就是每一行的开始位置。在这里并不是上边字符范围中取反的意思,^符号只有在"[]"符号的开头处才能表示字符取反。 ^abc:表示以abc开头的字符串abc。...\{2\}:表示前边字符的重复次数是2。 \{2,\}:表示前边字符的重复次数至少是2,也就是大于等于2。 \{2,9\}:表示前边字符的重复次数大于2但小于9。 8....例子2: sed -n ‘/^$/d’ message 说明:删除空行 例子3: sed -n ‘/^TS/,/^TE/d’ message 说明:匹配以TS开头的行到TE开头的行之间的行,把匹配到的这些行删除...5、关于定址的分组命令 例子1: /^TS/,/^TE/{ s/CN/China/ s/Beijing/BJ/ } 说明:该命令表示将从TS开头的行到TE开头的行之间范围的行内容中CN替换为China,

    2K30

    Linux 基础命令(收藏大全)

    -f 在复制的时候如果碰到目的文件名有重复就将原先的删除 ------------ 命令: mv 移动文件或目录/修改文件或目录名 命令格式: mv [选项] 源文件 目的路径 -i 如果目的地有相同文件名时会出现提示...-v:不输出匹配的行 -A :显示所找的匹配字段,并显示下面指定的行数的信息 -B :显示所找的匹配字段,并显示上面指定的行数的信息 正则表达式表示方法: 忽略正则表达式中特殊字符的原有含义...打印匹配test关键的行并显示行号 grep -n “test” grepcmd.txt 5. 查找开头为”#”的行,并显示行号 grep -n ^# grepcmd.txt 6....查找含有以”A-F”字符开头的行 grep -r “^[A-F]” ./ 11. 查找含有以”A-F”字符开头,第2个字符为i的行 grep “^[A-F]i” grepcmd.txt 12....查找以D或d字符为开头的行 egrep '(^D|^d)' egrepcmd.txt 15.匹配以D开头的0个或1个字符 egrep ^D?

    2.5K30

    Linux 基础命令(收藏大全)

    -f 在复制的时候如果碰到目的文件名有重复就将原先的删除 ------------ 命令: mv 移动文件或目录/修改文件或目录名 命令格式: mv [选项] 源文件 目的路径 -i 如果目的地有相同文件名时会出现提示...-v:不输出匹配的行 -A :显示所找的匹配字段,并显示下面指定的行数的信息 -B :显示所找的匹配字段,并显示上面指定的行数的信息 正则表达式表示方法: 忽略正则表达式中特殊字符的原有含义...打印匹配test关键的行并显示行号 grep -n “test” grepcmd.txt 5. 查找开头为”#”的行,并显示行号 grep -n ^# grepcmd.txt 6....查找含有以”A-F”字符开头的行 grep -r “^[A-F]” ./ 11. 查找含有以”A-F”字符开头,第2个字符为i的行 grep “^[A-F]i” grepcmd.txt 12....查找以D或d字符为开头的行 egrep '(^D|^d)' egrepcmd.txt 15.匹配以D开头的0个或1个字符 egrep ^D?

    1.6K30

    shell文本处理工具sed、cut、awk

    不打印模式空间中的内容,而是仅打印和sed命令匹配的内容 -i 直接对源文件进行修改(慎用) 动作说明: a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~ c :...|sed '2,5c xixixixixi' 1 xujinding xixixixixi 6 hello java 打印 n和p 一般是一起使用 -n选项:只显示匹配处理的行(否则会输出所有...‘s/要被取代的字串/新的字串/g’ g 标识符表示全局查找替换 将 testfile 文件中每行第一次出现的 hello 用字符串 heihei 替换,然后将该文件内容输出到标准输出: nl testfile...wahaha 5 hellheihei world 6 hellheihei java sed 对文件中所有符合的字符串都被替换,修改后内容会到标准输出,不会修改原文件: sed -e 's...搜索 passwd 文件,输出以 a 字母开头的所有行的第 1 列和第 6 列,以--分割,且在开头第一行的上面添加一行列名“1 列”“6 列”,以--分隔,在最后一行的下面添加一行内容"这是所有的以

    1K20

    Linux通配符和正则表达式通配符 区别_linux正则表达式语法

    另外,如果指定了用于扩展的-E选项,那些用于控制匹配完成的其他字符可能会遵循正则表达式的规则,对于grep命令,我们还需要在这些字符前面加上\,下表是扩展部分一览: 选项 含义 ?...(2)*在通配符和正则表达式中有其不一样的地方,在通配符中*可以匹配任意的0个或多个字符,而在正则表达式中他是重复之前的一个或者多个字符,不能独立使用的。...[^] :匹配一个不在指定范围内的字符,如:‘[^A-FH-Z]rep’匹配不包含A–R和T–Z的一个字母开头,紧跟rep的行。 .. :标记匹配字符,如‘love’,love被标记为1。...x\{ m\} :重复字符x,m次,如:‘o\{5\}’匹配包含5个o的行。 x\{ m,\} :重复字符x,至少m次,如:‘o\{5,\}’匹配至少有5个o的行。...x\{ m,n\} :重复字符x,至少m次,不多于n次,如:‘o\{5,10\}’匹配5–10个o的行。

    5.9K20
    领券