zoukankan      html  css  js  c++  java
  • Day08_固化命令、grep、sed及awk命令

    一. 固化命令

    1. shell登陆
      • /etc/profile
      • /etc/bashrc
      • /root/.bashrc
      • /root/.bash_profile
      • /etc/profile.d/a.sh
    2. 非shell登陆
      • /root/.bashrc
      • /etc/bashrc
      • /etc/profile.d/a.sh

    二. grep及正则表达式

    1. grep
      • -n :显示行号
      • -o :只显示匹配的内容
      • -q :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容
      • -l :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl 'root' /etc
      • -A :如果匹配成功,则将匹配行及其后n行一起打印出来
      • -B :如果匹配成功,则将匹配行及其前n行一起打印出来
      • -C :如果匹配成功,则将匹配行及其前后n行一起打印出来
      • -c :如果匹配成功,则将匹配到的行数打印出来
      • -E :等于egrep,扩展
      • -i :忽略大小写
      • -v :取反,不匹配
      • -w:匹配单词
    2. 正则介绍
      • ^ :行首
      • $ :行尾
      • . :除了换行符以外的任意单个字符
      • .*:所有字符
      • * :前导字符的零个或多个
      • + :前导字符一个或多个
      • ? :前导字符零个或一个
      • x{m} :x出现m次
      • x{m,} :x出现m次至多次(至少m次)
      • x{m,n} :出现m次至n次
      • []:字符组内的任一字符
      • [1]:非字符组内的字符开头的行
      • -:只能放在结尾
      • [a-z]:小写字母
      • [A-Z]:大写字母
      • [a-Z]:小写和大写字母
    3. 正则表达式与通配符
      • 通配符:与命令搭配使用
      • 正则表达式:一般用于文本处理

    三. Sed及正则表达式

    1. sed语法
      • sed [options] 'command' in_file[s]
        • options 部分
          • sed -n '动作' :静默
          • sed -e '动作' :多个规则
          • sed -i '动作':直接修改读取内容并写入
          • sed -f '动作' :将动作写在一个文件内;
        • command 部分
          • '[地址1,地址2] [函数] [参数(标记)]'
          • 定址的方法 1.数字 2.正则
          • 函数
            • 增删改
            • a 后插
            • c 替换
            • i 前插
            • d 删除
            • 输入输出
            • p 打印匹配的行 一般和 -n 参数连用,以屏蔽默认输出
            • r 从文件中读入
            • w 写入到文件中
            • s 字符串替换 s/old/new/[g] (g表示一行全部修改)
            • ():保存被匹配的字符 以备反向引用N时使用 最多9个标签 标签顺序从左至右

    四.awk及正则表达式

    1. awk语法:awk [options] 'commands' files
      • -F 定义字段分隔符,默认的分隔符是连续的空格或制表符,使用option中的-F参数定义间隔符号
      • 用$1,$2,$3等的顺序表示files中每行以间隔符号分隔的各列不同域
      • NF变量表示当前记录的字段数
      • NR 表示AWK读入的行数
      • 行处理:定址 命令
        • 定址方法: 正则,变量,比较和关系运算
        • ~ !~:匹配正则或不匹配,正则需要用 /正则/ 包围住
      • -v 定义变量并赋值 也可以借用次方式从shell变量中引入
        • username=root
        • awk -v var=$username -F: '$1 == var{print $1,NR,NF}' /etc/passwd

    五. 其他命令

    1. cat 文件 | sort | uniq:文件排序去重
    2. cut -d分隔符 -fm,n:处理文件以分隔符切割取第m n部分
    3. du -sh:统计文件大小
    4. find 路径 -type f:按照类型查找普通文件
    5. find 路径 -name 文件名 :按照名字查找文件
    6. find 路径 -size +30M:找出大于30M文件
    7. find 路径 -size +10M -size -30M:找出大于10M小于30M的文件
    8. find / -size +2M -type f -name *.txt

    1. ^ ↩︎

  • 相关阅读:
    31个是你终生受用的爱情原则
    毕业后的五年拉开大家差距的原因在哪里?
    如何学习编程
    让人印象深刻的回答
    Android签名机制之---签名验证过程具体解释
    移动APP怎样保存用户password
    算法导论学习之线性时间求第k小元素+堆思想求前k大元素
    C#软件开发实例.私人订制自己的屏幕截图工具(十)在截图中包括鼠标指针形状
    Windows server 2003 + IIS6 搭建Asp.net MVC执行环境
    java移位运算符实验程序:<<(左移)、>>(带符 号右移)和>>>(无符号右移)
  • 原文地址:https://www.cnblogs.com/sama/p/7854659.html
Copyright © 2011-2022 走看看