linux_sed的使用

sed的使用:(流编辑器)
  sed: Stream Editor : 行编辑器

sed 模式空间: 默认不编辑原文件,逐行读取原文件中的行到模式空间,对模式空间中的数据进行处理,处理完成后输出打印
       sed [option] ‘AddressCommand‘ file...
             -n : 不再默认显示模式空间中的内容,只打印符合的内容
             -i : 直接修改原文件
             -e SCRIPT -e SCRIPT ... : 可以同时执行多个脚本
             -f script_file : 使用脚本文件的内容对文件进行处理
             -r : 使用拓展正则表达式

Address:
        1. Startline,Endline:  1,100 从第1行到100行
        2. LineNum: 指定某一行
             $ : 表示最后一行, $-1 : 表示倒数第二行
        3. Startline,+N : 从指定的起始行开始向后N行
        4. /Regexp/ : /^root/ 以root 开头的行
        5. /Regexp1/,/Regexp2/ 表示从第一次被Regexp 匹配的行开始到 第一次被Regexp2 匹配到的行结束
    
     Command:
        d : 删除符合条件的行
        p : 显示打印符合条件的行
        a \string : 在指定的行后面追加新行,内容为string
               \n:换行
        i \string : 在指定的行前面追加新行,内容为string
        r file : 将指定文件的内容添加至符合条件的行处
        w file : 将符合条件的内容另存至指定的文件中
        s/Regexp/string/[gi] : 查找符合模式的行,并将其替换为指定的内容,默认只替换每行中第一次匹配的内容
                         g : 全局替换
                         i : 忽略大小写
             s/// => s### => [email protected]@@ 分隔符可以使用其他的特殊符合
             
            & : 引用模式匹配的字符串
              l..e : like --> liker
                     love --> lover

sed ‘s/l..e/&r/g‘ /tmp/test.txt
                 sed ‘s/\(l..e\)/\1r/r‘ /tmp/test.txt

like --> Like
                     love --> Love

sed ‘s/l\(..e\)/L\1/g‘ /tmp/test.txt

时间: 2024-08-25 19:27:45

linux_sed的使用的相关文章

【linux_笔记】Linux_sed(流编辑器)基本用法

学习资源来自:www.magedu.com 学习记录过程中难免出现错误,如有发现,还望大神们指出. 示例操作部分有的与历史操作有关,如果先前的示例操作没有执行过的话,可能会有部分示例的操作无法执行.示例仅供参考.(练习题在附录) sed基本用法: sed: Stream EDitor(流编辑器)    行编辑器 (全屏编辑器: vi)    sed: 默认不编辑原文件,仅对模式空间中的数据做处理:而后,处理结束后,将模式空间打印至屏幕:        (模式空间 -- 内存空间) sed [op

linux_sed 正则替换

目标 替换 test.data文件中的 原正则: (\d{4}[^)]*?) sed不支持 \d 改为0-9 测试 :head test.data| sed -r "s/([0-9]{4}[^)]+)//g" grep测试: grep -P "(\\d{4}[^)]*?)" test.data 替换:  sed -i  -r "s/([0-9]{4}[^)]+)//g"

linux_sed操作

sed处理流程 sed 'p' passwd打印两行一模一样的(因为默认已经输出到屏幕上一次,在p一下就两次了),sed -n 'p' passwd就可以正常显示一行,-n忽略默认输出,把默认的输出忽略了 nl passwd就会把行号显示出来 定位一行的方式: 1.行号 nl passwd | sed -n '22p'就会把第22行的行号和内容输出来,nl -b a passwd,nl -b a的意思把空白行的行号也显示出来 2.正则表达式 sed -n '/mysql/p' passwd,利用

【linux 常用工具总结】sed 工具使用总结

在日常工作中,我们往往会在使用Unix/Linux系统时遇到一些处理复杂文本的情况, 这些文本直接处理可能会比较麻烦,往往会花费我们很多时间,给我们的工作带来一定的困扰.事实上,Unix/linux系统提供了一些强大高效的文本处理工具来帮助我们进行复杂文本的处理, 掌握这些工具的使用可以事半功倍. 本文主要对linux三剑客(sed, awk, grep)之一的sed工具进行介绍,并对该工具的使用进行简单的说明. 1.1  sed工具使用总结 sed, 全称 stream editor, 是一种