Linux shell awk数组使用】的更多相关文章

awk中使用数组 一.数组格式 数组是一个包含一系列元素的表. 格式如下:     abc[1]="xiaohong"     abc[2]="xiaolan" 解释: abc      :为数组名称 [1].[2]:为数组元素下标,可以理解为数组的第1个元素.数组的第2个元素 "xiaohong"."xiaolan": 元素内容 数组 arrray[index-expression] 数组下从1开始,也可以使用字符串作为数组…
linux shell在编程方面比windows 批处理强大太多,不管是在循环.运算.已经数据类型方面都是不能比較的. 以下是个人在使用时候,对它在数组方面一些操作进行的总结. 1.数组定义 [chengmo@centos5 ~]$ a=(1 2 3 4 5)[chengmo@centos5 ~]$ echo $a1 一对括号表示是数组,数组元素用“空格”符号切割开. 2.数组读取与赋值 得到长度: [chengmo@centos5 ~]$ echo ${#a[@]}5 用${#数组名[@或*]…
引言 在Linux平台上工作,我们经常需要使用shell来编写一些有用.有意义的脚本程序.有时,会经常使用shell数组.那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解,shell中的数组. 数组的定义 何为数组?学过计算机编程语言的同学都知道,数组的特性就是一组数据类型相同的集合(不包括有一些编程语言提出来的关联数组的概念).那么shell中数组是怎么定义的呢,我们来看两种数据类型:一是数值类型,二是字符串类型:虽然shell本身是弱类型的,但也可以这么区分.…
在linux awk的 while.do-while和for语句中允许使用break,continue语句来控制流程走向,也允许使用exit这样的语句来退出.break中断当前正在执行的循环并跳到循环外执行下一条语句.if 是流程选择用法. awk中,流程控制语句,语法结构,与c语言类型.下面是各个语句用法. 一.条件判断语句(if) if(表达式) #if ( Variable in Array )语句1else语句2 格式中"语句1"可以是多个语句,如果你为了方便Unix awk判…
linux 中定义一个数据的语法为: variable=(arg1 arg2 arg3 ....) 中间用空格分开.数组的下标从0开始. 1 获取下标为n的元素: variable[n] 而且不存在数组下标溢出的情况,如果 n>= 数组的长度,那么为空,不会报错. 2 获取数组长度 ${#variable[@]} 或者 ${#variable[*]} 那么如何用for遍历呢?一共有两种方式: for i in ${variable[@]}; do # do something.... done…
awk逻辑控制语句 1,if...else 格式: if(条件){语句:语句} else {语句1:语句2} 如果statement只有一条语句,{}可以不写 以冒号为分隔符,判断第一个字段,如果为root,则显示用户为administrator,否则显示用户问common user [root@wei csdn]# awk -F: '{if($3==0){print $1,"is administrator."}else {print $1,"is common user&…
awk的PATTERN表示方法: 1,正则表达式,格式为/regex/ 以冒号为分隔符,显示/etc/passwd以r开头的行的第一段 [root@wei awk]# awk -F: '/^r/{print $1}' /etc/passwd root 以冒号为分隔符,显示/etc/passwd以nologin结尾的行的第一段 [root@wei awk]# awk -F: '/nologin$/{print $1}' /etc/passwd bin daemon adm lp mail 以冒号为…
Linux处理文本工具     grep: 过滤文本内容     sed:  编辑文本内容     awk:   显示文本      awk:  Aho Peter Weinberger  Kernighan 报告生成器,以特定的条件查找文本内容,在以特定的格式显示 awk命令的格式: # awk [option] 'script' file1 file2... # awk [option] 'PATTERM{action}' file1 file2... PATTERN:     用文本字符与…
goodtools! 原文 awk 'BEGIN{ OFMT="%.3f"; devf="/proc/net/dev"; while(("cat "devf) | getline) { ~ /:/ && ($+) > ) { ,tarr,":"); net[tarr[]]=$+tarr[]; print tarr[],$+tarr[]; } } close(devf); ) { system("…
#!/bin/sh## 数组的声明与初始化方法# 先声明后赋值:declare -a arrayarray=(one two three) # 声明并初始化:array_1=(1 2 3 four) array_2=(123four) array_3[0]=1array_3[1]=2array_3[2]=3array_3[3]=four # 数组元素的引用 ${array_name[index]}echo "array_1[0]= ${array_1[0]}"    echo &quo…