zoukankan      html  css  js  c++  java
  • sed和awk学习第一天

    sed 基本使用

    1.指定简单指令 sed [-e] 'instruction' file  只有在命令行上给出多个指令时才需要使用-e选项。sed   ‘s/MA/Mass/' list 

    使用单引号可以阻止shell解释编辑指令中的特殊字符或空格。sed 's/MA/, Mass/' list

    有三种方式可以指定命令行上的多重指令:

    a. 用分号分隔指令。

    sed 's/MA/, MAss/; s/ PA/, Penn/' list

    b.在每个指令前放-e 

    sed -e   ’s/MA/, Mass/‘  -e 's/ PA/, Penn/' list

    c.使用Bourne shell 的分行指令功能。在输入单引号后按return键,就会出现多行输入的提示符(>)

    sed  '

    >s / MA/, Mass/

    > s / PA/, Penn/'   list

    2.失误的命令

    sed -e 's/MA/Mass' list 提示错误  标记搜索和替换命令末尾的斜杆丢失了。

    3.脚本文件

    sed -f scripfile file 

    $ cat sedscr 

    s/ ma/, mass/

    s/ PA/, Penn/

    sed -f sedscr list 读取sedscr 中所有替换命令,并讲这些命令应用于输入文件list中的每一行;显示屏幕上是临时的,输入文件并没有发生改变。

    4.保存输出 

    sed -f sedscr list > newlist

    5.阻止输入行的自动显示

    sed 的默认操作是输出每个输入行。-选项可以阻止自动输出。当指定该选项时,

    AWK基本使用

     1. awk 'instruction' file 每次从一个或多个文件中读入一行或从标准输入一行读入一行。指令必须包含在单引号中,从而与shell区别开。

    2.awk -f script files -f选项的工作方式与在sed中相同

    实例包含单个指令,用于打印输入文件中每行的第一个字段

    awk ‘{print $1}’ list

    john

    alice 

    3.“$1”表示每个输入行上的第一个字段的值,没有指定模式,所有打印语句应用与所有行。

    awk  ‘/MA/’  list

    john MA,341 King Road, Plymouth MA

    Eric Adams,20 Post Road, Sudbury MA

    eric MA

    4.打印三列,awk更像一种查询语音,从文件中提取有用的信息。

    awk ‘/MA、 { print $1 }’ list

    John 

    Eric 

    默认情况下,awk使用空格或制表作为字段分隔符讲输入分隔成字段。

    5.使用-F选项讲字段分隔符改变为逗号。使我们能够检索3个字段中的任一个:全称 街道地址 或城市和州

    awk -F, ' /MA/ { print $1 }' list

    John Daggett

    Eric Adams

    Sal Carpenter 

    不要改变字段分隔符的-F选项与指定脚本文件名的-f选项弄混。

    下一个示例将每个字段单独打印在这一行上。多重命令分号隔开。

    awk -F, '{ print $1; print $2; print $3 }' l;ist

    john Daggett

    341 king Road

    Plymouth MA

    Alice Ford 

    22 East Broadway 

    出错信息

    没有使用大括号({]) 讲过程括起来

    没有用单引号('') 讲指令括起来

    没有用斜杠(//)中将正则表达式括起来

    6.选项总结

    awk -f 跟随脚本的文件名

    awk  -F 改变字段分隔符

    -v 跟随var=value

    同时使用sed和awk

  • 相关阅读:
    Linux 添加Nginx 到 service 启动
    PHP编译安装时常见错误解决办法,php编译常见错误
    7 适配器模式
    6 单例模式及其多线程问题
    5 简单工厂、工厂、抽象工厂
    4 装饰者模式
    3 观察者模式
    2 策略模式
    1 UML基础
    代码操作Word时,目录自动更新的两种方法
  • 原文地址:https://www.cnblogs.com/legenidongma/p/14659042.html
Copyright © 2011-2022 走看看