linux awk数组操作详细介绍

yizhihongxing

Linux awk数组操作详细介绍

什么是awk

awk是一种用于处理文本文件数据的命令行工具,在Linux或Unix系统中广泛使用。awk可以用于数据提取、数据转换、报告生成等多种任务。

什么是数组

数组是一种储存数据的数据结构,在awk中也经常用到。数组以下标和值的形式进行储存和访问。

声明数组

在awk中声明数组时,需要使用关键字array[]。其中array为数组名称,index为下标。

# 使用array关键字声明数组
awk 'BEGIN{ array["apple"]=1; array["banana"]=2; print array["apple"],array["banana"] }'

# 使用[]声明数组
awk 'BEGIN{ arr["apple"]=1; arr["banana"]=2; print arr["apple"],arr["banana"] }'

输出:

1 2

数组的遍历

awk中可以使用for语句遍历数组。

awk 'BEGIN{ array["apple"]=1; array["banana"]=2; for(i in array){ print i, array[i] } }'

输出:

apple 1
banana 2

数组的操作

数组元素的修改

可以使用数组下标进行操作修改数组元素。

awk 'BEGIN{ array["apple"]=1; array["banana"]=2; array["apple"]=3; for(i in array){ print i, array[i] } }'

输出:

apple 3
banana 2

数组元素的删除

可以使用关键字delete删除数组元素。

awk 'BEGIN{ array["apple"]=1; array["banana"]=2; delete array["apple"]; for(i in array){ print i, array[i] } }'

输出:

banana 2

示例说明

示例1:统计单词出现次数

假设存在文件word.txt,内容如下:

apple
banana
apple
orange
orange

以下命令可以统计每个单词出现的次数:

awk '{ array[$1]++ } END{ for(i in array){ print i, array[i] } }' word.txt

输出:

orange 2
banana 1
apple 2

示例2:计算文件指定列的平均值

假设存在文件score.txt,内容如下:

John 90
Mary 85
Tom 78
Bob 92

以下命令可以计算第二列的平均值:

awk '{ sum+=$2 } END{ print sum/NR }' score.txt

输出:

86.25

总结

本文详细介绍了awk数组的操作,包括了数组的声明、遍历和操作,同时给出了两个实际运用的示例。对于需要处理文本数据的任务,awk是一个十分强大的工具。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:linux awk数组操作详细介绍 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • Administrator系统管理员帐户如何修改名称

    讲解如何修改Administrator账户名称: 首先,以管理员身份登录操作系统以获取管理权限。 打开Windows PowerShell或者命令提示符窗口,并使用net user命令进行修改用户名操作。具体命令如下: net user administrator 新用户名 其中,新用户名可根据用户自己的需求进行修改。- 等待修改完成,重新启动计算机以使修改…

    other 2023年6月27日
    00
  • mac平台最好用的万能开源免费播放器-iina

    IINA攻略 IINA是一款Mac平台上的开源免费播放器,支持多种视频格式和音频格式,具有简洁的界面和强大的功能。以下是IINA的完整攻略,包括安装、使用和示例说明。 安装 IINA可以在官网下载安装包进行安装,也可以使用Homebrew进行安装。以下是使用Homebrew进行安装的步骤: 打开终端,输入以下命令安装Homebrew: /bin/bash -…

    other 2023年5月5日
    00
  • win7采用指令界面修改运行环境变量的方法

    Win7采用指令界面修改运行环境变量的方法攻略 在Windows 7操作系统中,你可以使用指令界面(Command Prompt)来修改运行环境变量。下面是详细的攻略,包含两个示例说明。 步骤1:打开指令界面 首先,你需要打开指令界面(Command Prompt)。你可以按下Win键+R键,在弹出的运行窗口中输入\”cmd\”,然后点击\”确定\”按钮。这…

    other 2023年8月9日
    00
  • Spring超详细讲解创建BeanDefinition流程

    Spring超详细讲解创建BeanDefinition流程 在Spring框架中,BeanDefinition是用于描述和定义一个Bean的元数据信息的对象。它包含了Bean的类名、作用域、依赖关系等信息。本攻略将详细讲解Spring创建BeanDefinition的流程。 1. 创建BeanDefinition对象 首先,我们需要创建一个BeanDefin…

    other 2023年10月15日
    00
  • 苹果 macOS 13.5 开发者预览版 Beta 3 发布

    苹果 macOS 13.5 开发者预览版 Beta 3 发布攻略 苹果在最近发布了macOS 13.5开发者预览版Beta 3。这是一项重大的更新,其中包含了一些重要的新功能和改进,它们将有助于提高Mac用户的体验。在本文中,我们将逐步介绍如何下载和安装这个 Beta 版本。 1. 首先,备份您的数据 在安装Beta版本之前,首先要做的是备份您的数据。虽然这…

    other 2023年6月26日
    00
  • linux cgroups详细介绍

    Linux cgroups详细介绍 什么是cgroups cgroups(control groups)是Linux内核提供的一种机制,它允许你限制、分配和监控系统资源(如CPU、内存、磁盘IO等)的使用。cgroups可以通过文件系统的形式,将一组进程放置在一个子系统中。 cgroups的应用场景 cgroups常用于以下场景: 系统性能优化:通过控制资源…

    other 2023年6月27日
    00
  • 64位下无法运行32位程序的解决方法 提示未指定提供程序,也没有指派的默认提供程序

    64位下无法运行32位程序的解决方法 在64位操作系统下,有时候会遇到无法运行32位程序的问题。这通常是因为缺少32位程序所需的运行环境或者配置不正确。下面是解决这个问题的完整攻略。 步骤一:安装32位运行环境 首先,你需要安装32位运行环境,以便能够在64位操作系统上运行32位程序。具体的步骤如下: 打开控制面板,点击\”程序\”或\”程序和功能\”。 在…

    other 2023年7月28日
    00
  • Win10系统双显卡怎么快速切换?

    Win10系统双显卡怎么快速切换? 对于使用有独立显卡和集成显卡的Win10系统设备,为了在不同使用场景下获得最佳的图形性能,需要在独立显卡和集成显卡之间进行快速切换。 1. 确认设备是否拥有双显卡 首先需要确认自己的设备是否拥有双显卡,可以通过以下步骤进行确认: 按下Win + X键,选择“设备管理器”; 展开显示适配器选项卡,如果此处出现两个显卡,则说明…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部