Linux-6 sed编辑器

目录

1.作用

2.工作流程

3.命令

4.操作符

5.删除

6.替换

        字母大小写替换

        换行

        添加

7.分组 位置替换 (字符串)


1.作用

        对文本内容增删改查 (默认在模式空间执行)

        ## sed 临时生效(不改变文本内容)    sed -i 永久生效(改变文本内容)

2.工作流程

        读取 执行 显示

3.命令

        -e 对多文件操作/多操作            -f 用指定脚本运行

        -i 直接修改目标文本(慎用)        -n 取消默认输出

4.操作符

        s 替换(字符串)      c 替换(行)        y 替换(字符 替换前后长度一致)       d 删除

        a 增加(下一行)        i 增加(上一行)         p 打印           r 扩展正则表达

                ##    sed处理量过大文件 执行慢

                        split -l -行数 文件名 se       按行分割

                        split -b 大小 文件名 se       按大小分

5.删除

        sed 'd' 文件名      sed -i 'd'  文件名       删除全部内容(不删除文件)

        sed -n  '3d;p' 文件名     删除第三行

        sed -n '5,$d;p' 文件名    从第五行删到最后一行

                ##    不删除文件的情况下删内容

                                cat /dev/null > 文件名

                                sed -i 'd' 文件名

                ##    删除空行的三种方法       grep -v "^$" 文件名

                                                                cat 文件名 | tr -s "\n"

                                                                sed '/^$/d' 文件名

6.替换

                s 字符串          c 行             y 字符

                sed -n 's/内容1/内容2/p' 文件名         每行第一个内容1换成内容2

 

 

                sed -n 's/内容1/内容2/2p' 文件名        换第二个内容

 

 

                sed -n 's/内容1/内容2/gp' 文件名         全文替换

        字母大小写替换

                sed 's/[a-z]/ \U &/g'   小写换成大写

                sed 's/[A-Z]/\l &/g'      大写换成小写

                sed 's/[a-z]/\u&/'         首字母大写

        换行

                sed '/内容1/c 内容2' 文件名           内容1整行换成内容2

 

 

        添加

        a 下一行        i 上一行        r 行后读文件

                sed '/内容1/a 内容2' 文件名            内容1下一行输入内容2

 

 

                sed '$r 文件2' 文件1                        文件2内容插入文件1最后

7.分组 位置替换 (字符串)

        echo ft123 | sed -r 's/(ft)(123)/\2\1/'       123ft

 

        echo ft1234 | sed -r 's/(ft)(1)(2)(3)(4)/\5\4\3\2\1/'       4321ft

        -f 用第一个文件内容的指定命令对第二个文件进行处理

                sed -f 文件1 文件2

                        echo "s/ /_/g" > 1

                        echo "good job

                                nice work" > 2

                        sed -f 1 2               good_job  nice_work

                

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值