我在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中获取这些值。

最佳答案

bash不支持二维数组,但是可以使用其他bash实用程序。
例如,awk支持二维数组。请在此处阅读更多信息:http://porthos.ist.utl.pt/docs/gawk/gawk_9.html#SEC128

10-08 13:23