码农知识堂 - 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
     

  • 相关阅读:
    基本分页存储管理
    让阿里P8都为之着迷的分布式核心原理解析到底讲了啥?看完我惊了
    SAPRouter Certificate即将过期更新证书
    论文阅读--Diffusion Models for Reinforcement Learning: A Survey
    .NET开源功能强大的串口调试工具
    Floyd 算法
    积分商城商品供应商选择的三个要求
    梯度下降法
    excel数值无法左对齐
    Vue打包出现Browserslist: caniuse-lite is outdated
  • 原文地址:https://blog.csdn.net/u014635374/article/details/132941712
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号