• linux shell 的学习随笔


    1 dirname $0

      Linux下获得目录路径比较常用的是pwd命令和getcwd()函数,pwd命令只能得到当前目录,也就是跑程序时所在的目录,但不能得到程序所在的目录;

      dirname恰好就能实现这个功能,使用dirname $0就可以解析出所要的绝对路径。

    2 read

         read命令接收标准输入(键盘)的输入,或其他文件描述符的输入,得到输入后,read命令将数据放入一个标准变量中。

         由于read命令提供了-p参数,允许在read命令行中直接指定一个提示;

      read后面的变量可以一个,也可以有多个,这时如果输入多个数据,则第一个数据给第一个变量,第二个数据给第二个变量;

    3 $? 前一个命令的返回值

    4 ehco命令

       echo 文件内容 > 文件名      创建文件

       echo 文件内容 >> 文件名    增加内容

       echo. 相当于增加一个回车换行符

    5 Grep及Cut命令

      cut: 是将一行讯息当中,取出某部分我们想要的;

      grep 则是分析一行讯息,若当中有我们所需要的信息,就将该行拿出来。

      platform=`grep PLATFORM= $cwd/../Rules.make | cut -d= -f2`

    6 sed命令

      Sed(a stream editor)是流线型、非交互式编辑器。他允许您执行和vi编辑器里相同的编辑任务。Sed 程式不是和编辑器交互式工作的,而是让您在命令行里敲入编辑的命令,给文档命名,然后在屏幕上查看命令输出结果。

      sed 怎样工作?sed 编辑器按一次处理一行的方式来处理文档,并把输出送到屏幕上。

          sed 能够用寻址的方式来决定想要编辑哪一行。
      sed 命令和选项
        选项     功能
        a\  在当前行上添加一个文本行或多个文本行
        c\  用新文本改变(取代)当前行里的文本
        d    删除行
        i\   在当前行之前插入文本
        h    把模式空间内容复制到一个固定缓存
        H    把模式空间内容添加到一个固定缓存
        g    得到固定缓存里任何的并复制到模式缓存,重写其内容
        G    得到固定缓存的内容并复制到模式缓存,添加到里面
        I    列出不打印的字符
        p    打印行
        n    读下一输入行,并开始用下一个命令处理换行符,而不是用第一个命令
        q    结束或退出sed
        r    从一个文档读如行
        !   把命令应用到除了选出的行以外的其他任何行
        s    把一个字串替换成另一个替换标志
        g    在一行上进行全局替换
        p    打印行
        w    把行写到一个文档中
        x    用模式空间的内容交换固定缓存的内容
        y    把一个字符转换成另一个(不能和整则表达式元字符一起使用)

         example:

                sed -i "s=EXEC_DIR\=.*$=EXEC_DIR\=$dst/home/root/$platform=g" $cwd/../Rules.make

    7 tee命令

      tee是一个把stdin保存到文件的小工具。
     
    8 awk 用法:awk ' pattern {action} ‘
      awk的处理文本和数据的方式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理        动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。awk分别代表其作者姓氏的第一个字母。因为它的作者是三个人,分别是Alfred Aho、Brian Kernighan、Peter Weinberger。gawk是awk的GNU版本,它提供了Bell实验室和GNU的一些扩展。   
      ARGC 命令行变元个数
      ARGV 命令行变元数组
      FILENAME 当前输入文件名
      FNR 当前文件中的记录号
      FS 输入域分隔符,默认为一个空格
      RS 输入记录分隔符
      NF 当前记录里域个数
      NR 到目前为止记录数
      OFS 输出域分隔符
      ORS 输出记录分隔符

     
     

     

     

  • 相关阅读:
    剑指offer系列0:替换空格&从头到尾打印链表
    算法1:动态规划
    设计模式2:策略模式
    NPOI导出xls、xlsx和csv
    EF6
    oracle导出数据字典
    oracle分组函数
    oracle分析函数中的开窗函数
    Oracle 列转行&行转列
    Oracle基本函数总结
  • 原文地址:https://www.cnblogs.com/zym0805/p/2108493.html
Copyright © 2020-2023  润新知