• 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. ^ ↩︎

  • 相关阅读:
    jQuery入门级part.2
    jQuery入门级part.1
    总结十二天
    延时器和定时器
    总结第十一天
    总结第十天
    总结第九天
    android特殊字符
    android 查看 当前activity
    京东运营 不错的帖子
  • 原文地址:https://www.cnblogs.com/sama/p/7854659.html
Copyright © 2020-2023  润新知