2013-07-26 62 views
1

二维数组中提取文本我在linux下的文本文件下面的文本从文件在Linux

;ip address hostname  put-location  alt-put-location    tftpserver 
192.168.1.1 r01-lab1-net /mnt/nas1/fgbu/ /opt/fgbu/devicebackup   192.168.1.254 
192.168.1.2 r01-lab2-net /mnt/nas2/fgbu/ /opt/fgbu/backup    192.168.1.222 
... 
... 

现在我想提取为以后使用数组的每个值。例如,如果我运行下面的命令

echo arry[2][2] 

它应该给输出类似如下:

r01-lab2-net 

一个方法是使用for循环,但我不明白我将如何移动到下一行。也请让我知道是否有更好的方法使用awk。或者以其他方式在bash中获取这些值。

+0

你可以使用像Python这样的脚本语言吗? – 2013-07-26 10:59:42

+0

没有。我的程序的其余部分使用bash。 – user115079

回答

0

bash不支持2维数组,但您可以使用其他bash实用程序。

例如, awk支持2维数组。阅读更多关于它的地方:http://porthos.ist.utl.pt/docs/gawk/gawk_9.html#SEC128

+0

如果我将程序作为“读取第一行并执行一些操作,读取第二行然后执行相同操作,读取第三行”,那么该怎么办?可以这样做吗? – user115079

+0

是的,你可以逐行读取文件并处理每一行。 – anubhava