zoukankan      html  css  js  c++  java
  • shell脚本之sed

    sed 命令

    Linux 文本处理三剑客 之 sed
    sed stream EDite
    作为行编辑器,对文本进行编辑(以行为单位进行编辑)
    注意:sed编辑文件,却不改变原文件;
    sed的工作原理:
    将以此指定文本文件。依次读取文本文件中每行的内容,读取到模式空间中(PATTERN SPACE),在模式空间中进行文本匹配(正则表达式),对匹配后的内容进行修改(替换、删除、打印、答应、修改、保存等)
    用法:
    sed 【参数】 “sed自己独立的用法格式的语句”【文本文件】
    常见选项
    -r 拓展的正则表达式
    匹配ip地址
    所有的都不要 |或者的意思
    -n 拒绝默认输出
    -e script for while if
    -f 指定脚本文件
    -l 指定文本换行长度
    -i直接修改文件内容
    地址定界:
    1、直接匹配数值
    sed -n `5,7p` fileneme
    2、d~步长
    sed -n `1-3p` 文件
    3、$ 指定行尾
    sed -n `10,$p` 文件
    4、/正则/
    sed -n `/k{5,}/,$p`abc
    5、0,addr
    addr 可以为数字 /$/正则表达式
    sed -n `0,/k{5,}/,p`abc
    6、addr +N
    配置addr行到,addr 后N行
    sed -n `/(as)+/,/(ds)+/` abc
    常见命令:
    p print 打印(默认在屏幕上显示出来) 建议和-n 一起使用
    c 替换行
    sed “/aaa/c A”a
    d删除
    sed “/aaa/d” a
    sed "1,3d" a
    n N 读取、添加 模式匹配到的行的下一行内容,在对其进行操作
    w 保存文件内容到一个新的文件
    *S* 文本内容替换 默认替换模式匹配到的第一项
    语法格式
    s/pattern/字符串
    中间的/可以替换为任意一个字符,例如:
    g 全部的意思
    12 和正则表达式相同,实现反向引用;
    指定某一个匹配项进行修改

    & 调用前面(pattern)匹配的内容
    sed "s/r/&er/g"文件
    w
    p
    练习:
    1、删除/boot/grub/grub.conf文件中所有空白开头的行行首的空白字符
    sed `s/^[[:space:]]+//g` /boot/grub/grub.conf
    2、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白符的行的行首的#和空白符;
    sed `s/^#[[:space:]]+//` /etc/fstab
    3、给定一个目录,取出其目录命
    sed `/[^/]+$//`||dirname +文件名-----取出目录文件的路径部分
    4、给定一个目录,取出器文件名
    sed `s#^/.*/##` basename +文件名-----取出文件名部分

  • 相关阅读:
    先做人,再做事
    当ligerui的grid出现固定列与非固定列不在同一水平线上时,改怎么处理
    权限设计的idea
    ligerUI问题
    在程序出现问题,当找不到错误时,第一时间用try ,catch包括起来
    当页面是本地页面时,通过ajax访问tomcat里的action,传递的参数在action里并不能识别
    好句子
    js Uncaught TypeError: undefined is not a function
    Photoshop学习笔记(一)
    microsoft project 出现不能保存为xls文件时可以按照如下方法解决
  • 原文地址:https://www.cnblogs.com/wangshilin/p/11365209.html
Copyright © 2011-2022 走看看