zoukankan      html  css  js  c++  java
  • awk、sed、cut、grep

    二、sed 【可以理解为 行在线编辑工具】

    作用:sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

    定址:定址用于决定对哪些行进行编辑。地址的形式可以是数字、正则表达式、或二者的结合。如果没有指定地址,sed将处理输入文件的所有行。

    例子:

    sed '2,5d' datafile
    #删除第二到第五行
    sed '/My/,/You/d' datafile
    #删除包含"My"的行到包含"You"的行之间的行
    sed '/My/,10d' datafile
    #删除包含"My"的行到第十行的内容
     

     退出状态:sed不向grep一样,不管是否找到指定的模式,它的退出状态都是0。只有当命令存在语法错误时,sed的退出状态才不是0。

    1、添加

    cat /etc/passwd | sed '2a dring coffee'

    在第二行后添加dring conffe。添加多行加一个 即可

    2、删除

    cat /etc/passwd | sed '2,$d'

    删除第2行到最后一行

    3、查找(列出)

    cat /etc/passwd |sed -n '2,5p' 

    -n 为安静模式,没有将重复输出

    4、替换

    cat /etc/passwd |sed '2,5c hello,world' 

     正则表达式的替换

    语句为: sed 's/要被替换的字符串/新的字符串/g'

    /sbin/ifconfig eth0 | grep 'inet addr' |sed 's/^.*addr://g'
    /sbin/ifconfig eth0 | grep 'inet addr' |sed 's/^.*addr://g'|sed 's/Bcast.*$//g'

     剔除每一行前面的空格

    sed "s/^ *//g"

    四、grep

    1、-E扩展成正则表达式,筛选出两行

    [root@IOT-WXUNI-Furn-B ~]# cat /etc/passwd | grep -E "^(root|zabbix)"
    root:x:0:0:root:/root:/bin/bash
    zabbix:x:201:201::/home/zabbix:/bin/bash
  • 相关阅读:
    页面框架布局
    socket、tcp、udp、http 的认识及区别
    servlet验证码的设置
    java换行符
    如何在jsp里禁止session
    EL和JSTL表达式
    C标签
    request与response
    文件上传与下载—>struts
    页面跳转
  • 原文地址:https://www.cnblogs.com/bluewelkin/p/4371875.html
Copyright © 2011-2022 走看看