美文网首页
shell 细节

shell 细节

作者: wjundong | 来源:发表于2022-09-01 23:37 被阅读0次
  • 屏蔽命令执行的出错信息

    ls a 2> /dev/null 
    

    linux 中
    0 – stdin (standard input,标准输入)
    1 – stdout (standard output,标准输出)
    2 – stderr (standard error,标准错误输出)

    2> /dev/null 将标准错误输出重定向到 null 设备, 从而实现屏蔽

  • ls 的小细节
    ls 在输出时会判断是在终端还是管道,若在终端中则默认不换行输出, 输出到管道或文件则换行.
    可以 ls -1 强制换行 ls -C 强制不换行

  • 案例: 获取文件夹下以 x-y 格式命名的文件名列表, 列表内容为不重复的 x 名称
    比如 demo 下有 a-hello, b-world, b-ok 则列表为 a b

    ls demo  | awk -F- '/.*-.*/{print $1}' | sort | uniq
    
    1. ls 列出 demo 下的所有文件或文件夹列表, 每一项一行, 输出给 awk;
    2. 对于输入的每一行, awk 中的先进行正则筛选 .*-.* 表示只匹配包含 - 字符的行;
    3. 对于符合正则筛选的行, 根据 -F 参数给的分割符 (默认空格) 进行字符串分割 (这里是 - );
    4. awk 命令部分 {print $1} 表示打印第一个分割点;
    5. 对所有行, awk 都执行一次上述操作, 于是得到所有x-y 模式中的 x;
    6. 对列表进行排序 (sort) 和去重 (uniq) 便得到最终结果
  • awk match 函数

    • 案例, 想要提取 ./a.out(+0x11ee) [0x5606cd0041ee] 中的 0x11ee, 从而提取报错函数的地址.
    awk '{match( $0, /.*\(\+(.*)\)/, a ); print( a[1] )}'
    
    • 首先awk 的程序部分直接执行 match 函数, 该函数接收三个参数: 要匹配的源字符串, 正则部分, 输出列表;
    • 源字符串直接取输入的行 ($0);
    • 正则部分包含在两个 / 之间, 该正则首先直接忽略前面字符( .*) 直到匹配到第一个左括号和 + 号 (\(\+) (需加反斜杠因为 (+ 是正则关键字);
    • 然后收录之后的所有内容 ((.*)) 直到右括号 (\)) 出现;
    • 就此结束, 后面不论出现什么都不管了; 于是第一个收录内容放到了 a[1] 里面, 这正是我们匹配的括号里的内容。

相关文章

  • shell 细节

    屏蔽命令执行的出错信息ls a 2> /dev/null linux 中0 – stdin (standard i...

  • 12-1 定制提示符

    本章将会讲解一个看似微不足道的细节:shell 提示符。通过学习 shell提示符,我们会发现 shell 和 终...

  • shell语法学习

    shell脚本 先开坑,大略地学一下,学习重点放在bash上,有需求再认真的学习细节的内容 Shell 脚本(sh...

  • 2021-03-11 shell sed命令 修改Info.pl

    shell sed命令 修改Info.plist配置 sed命令 具体细节参考 https://blog.csdn...

  • 2018-07-18

    大数据学习路线(完整细节版) 大数据学习路线 java (Java se,javaweb) Linux(shell...

  • Linux命令拾遗

    1 strace:解释Shell命令的运行细节 2 ls:罗列当前目录的所有文件 3 ls --hel...

  • Linux命令拾遗

    1 strace:解释Shell命令的运行细节 2 ls:罗列当前目录的所有文件 3 ls --hel...

  • 游戏助手技术细节:结合Shell Script快速建立大量相似i

    游戏助手技术细节:结合Shell Script快速建立大量相似iOS App 背景 游戏助手项目是由一系列的游戏助...

  • Shell 学习

    shell 变量 shell 参数传递 shell 数组 shell 运算符 shell echo 命令 prin...

  • Shell 概述

    学习 Shell 主要包括的内容: Shell 脚本入门 Shell 变量 Shell 内置命令 Shell 运算...

网友评论

      本文标题:shell 细节

      本文链接:https://www.haomeiwen.com/subject/vbaynrtx.html