免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1796 | 回复: 3
打印 上一主题 下一主题

[文本处理] shell中将文本内容代入到数组中 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-07-27 23:54 |只看该作者 |倒序浏览
如题,我现在有个需求是将下面的文本A内容带入到数组中,请问该如何处理呢?
A
1.1.1.1 22
2.2.2.2 33
3.3.3.3 44
4.4.4.4 55
5.5.5.5 66

想要实现的结果是用循环遍历以上数据从而可以依次将变量代入如下的命令
ping i[0] -p i[1]

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
2 [报告]
发表于 2015-07-28 07:16 |只看该作者
回复 1# vectorT

How about this way

$ bash get_ip.sh
ping 1.1.1.1 -p 22
ping 2.2.2.2 -p 33
ping 3.3.3.3 -p 44
ping 4.4.4.4 -p 55
ping 5.5.5.5 -p 66

$ cat get_ip.sh

while read ip port
do
  echo ping $ip -p $port
done < A

   

论坛徽章:
0
3 [报告]
发表于 2015-07-29 13:41 |只看该作者
回复 2# jason680


额,结果虽然一样,但是我的需求是通过将文本中的ip和端口带入数组变量中,再循环。这样之后也便于维护。不知道应该怎样实现。

   

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
4 [报告]
发表于 2015-07-29 14:02 |只看该作者
  1. i=0
  2. while read line; do
  3.     arr[$i]=$line
  4.     let i+=1
  5. done < 1.txt
  6. echo ${arr[1]}
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP