码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 运维Shell脚本小试牛刀(十二):awk编程尝鲜



    运维Shell脚本小试牛刀(一)

    运维Shell脚本小试牛刀(二)

    运维Shell脚本小试牛刀(三)::$(cd $(dirname $0); pwd)命令详解

    运维Shell脚本小试牛刀(四): 多层嵌套if...elif...elif....else fi_蜗牛杨哥的博客-CSDN博客

    Cenos7安装小火车程序动画

    运维Shell脚本小试牛刀(五):until循环

    运维Shell脚本小试牛刀(六): Shell中的函数认知

    运维Shell脚本小试牛刀(七):从函数文件中调用另外一个脚本文件中函数

    运维Shell脚本小试牛刀(八): case模式忽略命令行参数大小写演示

    运维Shell脚本牛刀小试(九): 重定向操作符“>“及双重定向“>>“

     运维Shell脚本小试牛刀(十)

    运维Shell牛刀小试(十一):for循环读取多个命令行参数

    运维Shell脚本小试牛刀:awk编程尝鲜


     一: awk简介

           awk是设计用于文本处理,并通常被用作数据提取和报告工具的解释性程序语言。它主要用于各种各样的计算及数据处理任务;awk为处理文件提供了更普遍的计算模型。awk程序典型运用实例是将数据转换成格式化的报表,通常这些数据可能是linux程序产生的日志,而且格式化后报表是一种对系统管理员有用的格式将数据汇总;

          通常awk具有如下的功能

             1)使用变量操作有文本记录和字段组成的文本文件

             2)具有算术及字符串操作符

             3)具有普通的程序设计结构.如循环和条件

             4)生成格式化报告

             5)定义函数

             6)从awk脚本中执行Linux命令

             7)处理Linux命令的结果

             8)更加巧妙的处理命令行的参数

             9)更容易的处理多个输入流


    二:基础使用场景小试


    准备info.txt文本文件

    [root@www awk]# cat info.txt 
    Linux - Sysadmin
    Databases - Oracle, Mysql etc.
    Security - Firewall, Network, Online Security etc.
    Cool - Websites
    Storage - NetApp, EMC etc.
    Productivity - Too Many technologies to explore, no much time available
         


    2.1:awk显示文本文件内容

    [root@www awk]# awk '{ print }' info.txt 
    Linux - Sysadmin
    Databases - Oracle, Mysql etc.
    Security - Firewall, Network, Online Security etc.
    Cool - Websites
    Storage - NetApp, EMC etc.
    Productivity - Too Many technologies to explore, no much time available
    2.2 以文件分隔符'-'匹配记录

    [root@www awk]#  awk -F'-' '{ print $0 }' info.txt 
    Linux - Sysadmin
    Databases - Oracle, Mysql etc.
    Security - Firewall, Network, Online Security etc.
    Cool - Websites
    Storage - NetApp, EMC etc.
    Productivity - Too Many technologies to explore, no much time available
    [root@www awk]#  awk -F'-' '{ print $1 }' info.txt 
    Linux 
    Databases 
    Security 
    Cool 
    Storage 
    Productivity 
    [root@www awk]#  awk -F'-' '{ print $2 }' info.txt 
     Sysadmin
     Oracle, Mysql etc.
     Firewall, Network, Online Security etc.
     Websites
     NetApp, EMC etc.
     Too Many technologies to explore, no much time available
    [root@www awk]#  awk -F'-' '{ print $3 }' info.txt 

    2.3: 使用正则表达式匹配记录 

    如下,以"-"为分隔符,匹配包含"etc" 的记录


    [root@www awk]# awk 'BEGIN { FS="-" } $2 ~ "etc" { print $1 }' info.txt 
    Databases 
    Security 
    Storage 
    [root@www awk]# awk 'BEGIN { FS="-" } $2 ~ "etc" { print $0 }' info.txt 
    Databases - Oracle, Mysql etc.
    Security - Firewall, Network, Online Security etc.
    Storage - NetApp, EMC etc.
    [root@www awk]# awk 'BEGIN { FS="-" } $2 ~ "etc" { print $2 }' info.txt 
     Oracle, Mysql etc.
     Firewall, Network, Online Security etc.
     NetApp, EMC etc.
     

    三:从awk脚本中读取awk命令


    [root@www awk]# cat secondeAwk.awk 
    BEGIN {
     FS="-"
     
    }
    { print $2 }


    执行脚本:

    [root@www awk]# awk -f secondeAwk.awk info.txt 
     Sysadmin
     Oracle, Mysql etc.
     Firewall, Network, Online Security etc.
     Websites
     NetApp, EMC etc.
     Too Many technologies to explore, no much time available
     

  • 相关阅读:
    Kafka读取数据到Hbase数据库2种方式 使用桥梁模式
    2023-09-13 mysql-代号m-insert select语句注册-问题分析
    java毕业设计软件工程在线学习平台源码+lw文档+mybatis+系统+mysql数据库+调试
    常见非甾体抗炎药及作用机理
    【ros2 control 机器人驱动开发】双关节多控制器机器人学习-example 3
    深入解析 qsort 函数(下),用冒泡排序模拟实现 qsort 函数
    基于扩频技术的MPEG-2视频水印算法matlab仿真
    QT总结汇总
    Mac下安装ffmpeg
    分布式爬虫关闭(scrapy)
  • 原文地址:https://blog.csdn.net/u014635374/article/details/132941712
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号