当前位置: 首页 > news >正文

深圳网站制作公司方案孝感市最新消息

深圳网站制作公司方案,孝感市最新消息,什么是响应式开发,漯河搜狗关键词优化排名软件awk模块 awk模块awk的BEGIN模块和END模块BEGIN模块BEGIN 常见错误END模块END模块 常见错误 案例计算1~100的累加和统计系统中有多少用户的shell类型是/bin/bash awk模块 awk的BEGIN模块和END模块 格式 awk BEGIN{}{}END{} 文件名BEGIN模块 用于定义一个动作,用{…

awk模块

  • awk模块
    • awk的BEGIN模块和END模块
    • BEGIN模块
    • BEGIN 常见错误
    • END模块
    • END模块 常见错误
  • 案例
    • 计算1~100的累加和
    • 统计系统中有多少用户的shell类型是/bin/bash

awk模块

awk的BEGIN模块和END模块

格式

awk 'BEGIN{}{}END{}' 文件名

BEGIN模块

  • 用于定义一个动作,用{}表示要执行的动作
  • 这个动作要再读取文件之前执行
  • 这里的动作大多用于定义变量,包括内置变量、自定义变量

BEGIN 常见错误

  • 对BEGIN块的误解:许多初学者可能会误以为BEGIN块只在处理第一个输入记录时执行。实际上,BEGIN块会在处理任何输入之前执行一次,因此如果期望它在每个记录上都执行,这将导致逻辑上的错误
  • 变量初始化问题:在BEGIN块中未正确初始化变量可能导致意外,如果尝试在BEGIN块中使用一个未声明的变量,或者使用了一个预期为数组但被当作普通变量使用的数组元素,这可能会导致程序崩溃或产生不可预测的结果
  • 正则表达式使用的限制:虽然不是专门针对BEGIN块,但在awk中使用正则表达式时需要注意其性能影响。特别是在处理大量数据时,不恰当的正则表达式可能会显著降低程序的效率

END模块

END模块

  • 用于定义一个动作,用{}表示要执行的动作
  • 这个动作是awk将文件中的内容读取完成后,而且处理完成后,END模块才会执行
  • 这里的动作一般用于输出一个解释

END模块 常见错误

awk的END模块常见错误主要包括以下几点:

  • END模块使用错误:END模块只能有一个,尝试使用两个END模块(END{}END{})是错误的
    这意味着在awk脚本中,应该只定义一个END块,用于在所有输入行处理完成后执行特定的操作。
  • END模块中的循环问题:虽然可以在END模块中使用循环来遍历数组等数据结构
    ,但是需要注意的是,循环的下标关键字可能不会从0开始,这可能会导致对数组元素访问的预期之外的结果。
  • END模块的默认行为:需要注意的是,BEGIN和END规则必须有动作;这意味着在使用END模块时,必须明确指定要执行的操作,否则可能会因为缺少必要的命令而导致预期之外的行为。

案例

计算1~100的累加和

 seq 100 | awk 'BEGIN{sum=0}{sum+=$0}END{print sum}'5050

详细解释
1.seq命令可以输出连续的数字,或者输出固定间隔的数字,或者输出指定格式的数字,

2.这里awk 被用来对序列中的每个数字进行累加求和
3.BEGIN{sum=0} 部分是 awk 的 BEGIN 特殊模式,它在 awk 处理任何输入之前执行一次。这里初始化变量 sum 为 0,准备用于累加求和
4.{sum+=$0} 部分是 awk 的正常模式,它对每一行(在这个场景中是序列中的每个数字)执行。$0 表示当前行的全部内容,这里将其累加到 sum 变量中
5.END{print sum} 部分是 awk 的 END 特殊模式,它在 awk 处理完所有输入之后执行一次。这里输出变量 sum 的值,即序列中所有数字的总和

统计系统中有多少用户的shell类型是/bin/bash

awk 'BEGIN{FS=":";sum=0}$NF~/\/bin\/bash$/{sum+=1}END{print sum}' /etc/passwd
1.给定的awk命令是用于统计/etc/passwd文件中以/bin/bash结尾的行数2.在awk中$NF表示当前记录的最后一个字段
因此,这个命令通过将每行的最后一个字段与正则表达式/bin/bash$进行匹配,
来判断该行是否以/bin/bash结尾。如果匹配成功,就将变量sum加一
最后,在END块中打印出sum变量的值,即为满足条件的行数。3.BEGIN{FS=":"}这行代码设置了字段分隔符为冒号(:),这是因为/etc/passwd文件中的每个条目是以冒号分隔的。
接下来,对于文件中的每一行,awk会检查其最后一个字段($NF)是否包含字符串/bin/bash。
如果包含,就执行sum+=1,即将变量sum的值加一。当处理完文件中的所有行后,
awk会在END块中打印出sum变量的值,这就是以/bin/bash结尾的行数。
http://www.yayakq.cn/news/284534/

相关文章:

  • 官方网站建设状况网页设计模板html代码手机版
  • 潍坊 优化型网站建设域名注册服务商网站
  • 北京住总第三开发建设有限公司网站centos wordpress下载
  • 用手机做网站的软件企业网站建设设计需要什么
  • 高中生做网站网页wordpress站长统计代码
  • 做爰片的网站dw做的网站如何上传云服务
  • 做外包网站网站设计文档
  • 北京化妆品网站建设阿里巴巴域名购买
  • 网上做外贸都有哪些网站wordpress公益
  • 网站备案名字填写潜山做网站
  • 成都网站优化实战5x兴趣社区app怎么开发
  • 专业网站设计专家WordPress文章类别ID
  • php做网站用框架网络规划设计师目录
  • win7 iis搭建网站教程有哪些好的做问卷调查的网站
  • 英文网站怎么做怎么查看自己网站是否被收录
  • 网站设计作品案例讲解外贸网站制作公司哪家好
  • 淘宝网站开发源码wordpress 发布时间不对
  • 网站建设技术人员工作网站开发是什么意思啊
  • 建站基础:wordpress安装教程图解 - 天缘博客青岛seo关键词
  • 手机上自己做网站wordpress網頁版
  • 有谁做彩票网站深圳移动网站建设公
  • .net 网站 iis 配置企业咨询流程
  • 网站建设阿里巴巴免费制作模卡app的软件
  • 哪里建设网站比较好seo网站关键词优化怎么做
  • 如何做网站推广广告上海网站设计公司联系方式
  • 怎么做网站互换链接开发公司交房归物业公司交给物业公司
  • 金融企业网站制作微商软文推广平台
  • 做网站找客户创意设计公司简介
  • 企业网站为什么打不开可以进行宣传的网络平台
  • 做店标 做店招的网站研发网站建设报价