关于sed:Linux-sed-命令详解

Linux sedStream EDitor,流式编辑器 非交互,基于模式匹配过虑及批改文件逐行解决,并将后果输入到屏幕可实例对文本的输入、删除、替换、复制、剪切、导入、导出等各种操作一、根本正则列表与扩大正则依据推出工夫的不同,分为根本正则和扩大正则,扩大正则在根本正则的根底上做了一些优化和新增了一些正则表白符号,因为一些命令没有及时更新,所以你可能会遇到有些命令只反对根本正则,不反对扩大正则,或者须要增加一些反对扩大正则的选项。对于正则与扩大正则区别的具体介绍能够看我另一篇shell 正则的介绍 根本正则列表 扩大正则列表 二、sed 文本处理工具的用法介绍:用法1:前置命令 | sed [选项]'条件指令'用法2:sed [选项]'条件指令' 文件....相干阐明如下: 条件能够是行号或者/正则/没有条件时,默认为所有条件指令能够是增、删、改、查等指令默认sed会将所有输入的内容都打印进去,能够应用-n屏蔽默认输入选项中能够应用-r选项,让sed反对扩大正则sed命令的罕用选项如下: -n 屏蔽默认输入,默认sed会输入读取文档的全部内容-r 让sed反对扩大正则 若与其它选项一起应用,应放作为首选项-i sed间接批改源文件,默认sed只是通过内存长期批改文件,源文件无影响-e 多点编辑 让一条sed能够执行多条指令sed命令罕用条件指令如下 d:删除指定的字符p:显示指定的行s:替换指定的字符i: 在指定的行之前插入文本a:在指定的行之后追加文本c:替换指定的行r:读取文件w:保留到文件三、意识sed工具的 n、r、i 选项指令\# sed [选项] '条件指令' 文件.. .. 下面的条件指令 咱们能够拆分为 # sed [选项] '范畴界定+操作指令' 文件.. .. 的格局这样更容易了解 sed -n '/bash$/ s/:.*//p' /etc/passwd // 选项 -n 范畴界定/bash$/ + 操作指令s/:.*//psed命令能够应用行号或正则做为条件匹配: 1)sed命令的 -n 选项执行p打印等过滤操作时,心愿看到的是符合条件的文本。但不应用任何选项时,默认会将原始文本一并输入,从而烦扰过滤成果。比方,尝试用sed输入/etc/hosts的第1行: [root@server ~]# sed '1p'/etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6能够发现所有的行都被显示进去了(第1行反复2次)。—— 正确的用法应该增加 -n 选项,这样就能够只显示第1行了: ...

September 8, 2021 · 4 min · jiezi

关于sed:Linux三大编辑神器-sed-下集

sed 的反向援用簡單來説:先用()括號保護住,並在後兩個##之間反斜杠援用第幾個括號括住的内容\1\2\3\ 相當于分別援用第一個,第二個,第三個括號裏面的内容 例子1:將本人的名字,改用<>括住sed -r 允許应用正則表達式 例子2:查看本人網卡的ID 第一步: ip addr show [網卡名字]第二步: sed -n '3p' 取第三行第三步: sed -r 's#(^.t )(.)(/.*$)#\2#g'

September 4, 2021 · 1 min · jiezi