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

22、深入探索 Awk:功能、应用与实践

深入探索 Awk:功能、应用与实践

1. 处理异常字段数量的文件行

在处理文件时,可能会遇到数据录入错误,导致文件中的某些行包含的字段数量少于或多于预期。例如,在vegetables文件中,之前的 Awk 脚本无法正确处理包含非三个字段的行。为了解决这个问题,可以编写一个 Awk 脚本来读取文件,并显示那些包含非三个字段的行。

NF != 3 { printf "Line %d has %d fields\n", NR, NF }

使用这个脚本可以检查vegetables文件是否符合正确的格式,也可以在其他文件上进行测试,看看会有什么结果。

2. Awk 脚本的参数传递

假设要编写一个名为price的 shell 脚本,该脚本接受一个参数,表示蔬菜名称,并查询vegetables文件以显示该蔬菜的总价格。有两种解决方案:
-方案一:使用 Awk 计算所有蔬菜的总成本,然后使用 Grep 过滤出所需的行。

awk '{ printf "%s %.2f\n", $1, $2*$3 }' vegetables | grep $1
  • 方案二:使用 Awk 的模式匹配,但需要注意避免使用错误的模式。例如,以下代码是错误的:
http://www.jsqmd.com/news/103218/

相关文章:

  • 23、UNIX/Linux 编程:Awk 与 Perl 实战指南
  • 19、UNIX高级编程与正则表达式实用指南
  • 17、高级 shell 编程指南
  • 15、UNIX和Linux基础与进阶:从简单操作到高级脚本编程
  • 16、UNIX和Linux基础操作与脚本编写指南
  • 【课程设计/毕业设计】基于javaweb的宠物托管系统宠物寄养服务【附源码、数据库、万字文档】
  • 【课程设计/毕业设计】基于javaWEB的餐厅后勤管理系统的设计与实现基于javaWEB的餐厅后勤食材管理系统的设计与实现【附源码、数据库、万字文档】
  • 【课程设计/毕业设计】基于Java的仓库管理系统设计与实现基于Java企业仓储管理系统详细设计和实现【附源码、数据库、万字文档】
  • 【课程设计/毕业设计】基于springboot+vue的畅销图书推荐系统的设计与实现基于java的畅销图书推荐系统【附源码、数据库、万字文档】
  • 【课程设计/毕业设计】基于Java+SpringBoot+Vue求职招聘系统设计与实现基于JavaWeb的心聘求职平台的设计与实现【附源码、数据库、万字文档】
  • 【课程设计/毕业设计】基于javaweb的自习室座位管理系统自习室预订座位管理分析与实现【附源码、数据库、万字文档】
  • Java计算机毕设之基于java的畅销图书推荐系统基于Java+SpringBoot+Vue的畅销图书推荐系统(完整前后端代码+说明文档+LW,调试定制等)
  • Java计算机毕设之基于Java的仓库管理系统设计与实现基于JavaWeb的智能仓库管理系统设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 【课程设计/毕业设计】基于SpringBoot+Vue的家装一体化平台基于JavaWeb的家装一体化平台【附源码、数据库、万字文档】
  • 19、深入探索Shell编程:整数运算、数组与排序算法
  • 12.16 国内外互联网技术热点 TOP3 及开发者指南(无代码商业应用破 50 万)
  • 17、Bash 脚本中的流程控制与命令行选项处理
  • 如何下载b站视频到本地(b站视频本地化指南)
  • 35、深入探索编程与系统操作的核心知识
  • 32、各类Shell及相关信息介绍
  • 33、Bash 编程:内置变量、测试运算符及相关选项详解
  • 29、Bash管理与安全:深入解析
  • 30、高效编写与使用Shell脚本及获取Bash的全面指南
  • 31、《Bash 实用指南:配置、使用与对比》
  • 25、深入探索Shell脚本中的进程管理与并发控制
  • 27、打造简易bash调试器:功能、结构与操作全解析
  • 21、深入探索Shell字符串I/O与命令行处理
  • 22、命令行处理:引用、内置命令与 eval 的强大功能
  • 这些近视防控知识,家长应该早知道
  • 对近视说不:家长这样做,帮助孩子远离近视!