`

把awk中的数组赋值给shell中的数组

阅读更多
方法1,通过eval
#!/bin/bash
ipstr="192.168.1.152,192.168.1.153";
#declare -a arr;
eval $(echo $ipstr | awk '{split($0, filearray, ",");for(i in filearray)print "arr["i"]="filearray[i]}')
#eval 把print的内容,和javascript的eval一样的功能
#echo ${arr[1]}
for i in ${arr[*]}
do
#scp_c="scp $i:/opt/flow_video/2011-05-26.txt"
#echo $scp_c
scp $i:/opt/flow_video/2011-05-26.txt /opt/flow_video/2011-05-26_$i.txt
done


方法2 通过临时文件
#!/bin/sh
count=0
str="123#abc#@&?"
`awk 'BEGIN { split("'"$str"'",a,"#")}
     END   { for (i in a) {print a[i];$count++; }}'  /dev/null > 2`
     
while read buf
do
 tArray[$c]=$buf
 c=$(expr $c + 1)
done < 2
echo "array len:" $c
for((i=0;i<$c;i++));
do
  echo ${tArray[$i]}
done

执行输出
array len: 3
123
abc
@&?
分享到:
评论

相关推荐

    linux Shell脚本里面把一个数组传递到awk内部进行处理

    前段时间和几位同事讨论过一个问题:Shell脚本里面怎样把一个数组传递到awk内部进行处理? 当时没有找到方法。...众所周知,Shell脚本里面把一个普通变量传递给awk是非常简单的,直接用 -v 参数赋值就行了。 s

    linux shell实现求一个多维数组中的最大和最小值

    本文将详细介绍如何使用 Linux Shell 来找出一个包含多个一维数组的多维数组中的最大值和最小值。 #### 核心知识点: 1. **Shell 数组的定义与使用** 2. **Shell 脚本中的循环结构** 3. **条件判断与变量赋值** 4....

    awk学习资料最近整理的资料

    在shell环境中,awk是程序员和系统管理员的得力助手。 在"awk学习资料最近整理的资料"这个压缩包中,你可以找到一系列关于awk的学习资源,帮助你掌握这一技能。以下是一些主要的awk知识点: 1. **基本语法**:awk...

    awk教程所速度

    awk中的关联数组支持多维数组的操作,这可以用于处理有复杂结构的数据。关联数组的操作包括检索、修改和删除数组元素等。在输出时,awk提供了非常丰富的格式化功能,例如使用printf函数可以指定输出格式,并使用转义...

    awk使用手册,awk使用手册

    Awk 支持变量赋值和数组操作。数组可以通过索引进行访问和修改,支持一维数组和多维数组。 ##### 5. 函数定义与调用 用户可以自定义函数来扩展 Awk 的功能。例如: ```awk BEGIN { FS=":" } # 设置字段分隔符为 ":...

    awk学习awk学习awk学习awk学习

    变量赋值用于在awk脚本中使用外部变量;“文件(s)”则指定了需要处理的一个或多个文件。 #### 二、awk命令详解 1. **模式匹配**: awk支持正则表达式来匹配特定的模式。例如: ```sh awk '/root/' test ``` 这...

    包含了几乎所有 unix shell script编程特性的 unix shell script 完整项目, 基于 IBM AIX,附注释.rar

    一直很喜欢写unix shell script, 因为写那么一点点东西...(4) 注意怎样才能给一个数组赋值-用空格分隔的一串数据赋予一个数组 其他的flow control ( if , for, case等),没有什么太需要注意的,可用本例子 直接作参考.

    awk 基本的一些常用用法

    - **从Shell向AWK传递变量**:可以使用`-v`选项将Shell中的变量传给AWK。例如: ```sh str1="1" str2="2" echo "" | awk -v key1="$str1" -v key2="$str2" '{print key1 * key2, key2 * key2}' ``` 以上是对...

    sed awk高级编程案例

    直接将单行文本赋值给变量可以使用bash的基本赋值语法,如AA="Thisisaexample"。但如果需要处理文件中的多行,可以使用awk命令,通过设置数组来存储文件中的每一行。示例中使用了awk的内建循环来实现这一点,通过...

    shell从入门到精通

    数组在Shell脚本中也可以使用,但数组的索引从0开始。 6. 正则表达式:Shell支持正则表达式,这使得在文本处理中进行模式匹配变得非常方便。 7. 文本处理工具:常用的文本处理工具包括grep、sed和awk等,它们能够...

    LINUX下awk命令详解

    下面是一个简单的示例,展示如何使用 `awk` 来编写一个 shell 脚本来统计文件中的单词数: ```bash #!/bin/bash awk '{for (i=1; i; i++) words[$i]++} END {for (word in words) print word, words[word]}' $1 ``` ...

    AWK学习手册18年排版

    在“awk&sed”这个标签中,我们可以看到AWK与Sed通常一起提及,因为它们都是Linux Shell中的文本处理工具。Sed(流编辑器)用于对文本进行流式处理,如查找替换、删除等操作,而AWK则更加强调数据分析和模式匹配。...

    AWK用法详解(非常精辟)

    - **关联数组**:AWK支持使用字符串作为索引的关联数组,这对于复杂数据结构的处理非常有用。 - **内置管道功能**:AWK能够与外部Shell命令无缝集成,通过管道传递数据,这极大地增强了其处理能力和灵活性。 - **...

    AWK 编写程序

    ### AWK 编写程序知识点详解 #### 一、AWK 概述 - **名称由来**:AWK 的名字来源于三位创始人 Alfred...在未来的学习过程中,还可以探索更多高级特性,如函数定义、数组使用等,这些都将帮助我们进一步提升编程技能。

    Unix Shell by Example.zip

    此外,Shell还支持数组、变量赋值、命令替换、管道(`|`)和重定向(`&gt;`、`、`&gt;&gt;`),使得数据处理更为灵活。 函数是Shell编程中的一个重要概念,可以将常用的操作封装起来,方便重复调用。例如,你可以定义一个...

    学习shell的入门资料(shell十三问+shell基础十二篇)doc版

    - **变量与赋值**:在Shell中,变量可以用来存储各种类型的数据,如字符串、整数。赋值使用等号`=`,如`NAME="John Doe"`。 - **命令行参数**:脚本可以接收命令行参数,它们在脚本内部用$0到$9表示,其中$0是脚本...

    awk用法详解

    4. **内置管道功能**:awk能够直接与shell命令交互,利用管道传递数据,极大地扩展了awk的功能性和灵活性。 5. **数据行和字段处理**:awk擅长处理文本文件中的行(记录)和列(字段),可以通过简单的命令实现复杂...

    shell学习日志总结

    在Shell中,可以使用`read`命令从输入流中读取数据并赋值给变量。例如: ```bash cat file | while IFS='%' read p1 p2 p3; do # 处理p1, p2, p3 done ``` 这里使用了`IFS`(Internal Field Separator)来指定字段...

Global site tag (gtag.js) - Google Analytics