bash - 在 awk 中分配一个 bash 关联数组

标签 bash shell awk

我的问题是,是否可以在 awk 脚本中分配一个 bash 变量。

即 假设下面是我写的shell脚本,

declare -A sample_associative_array
awk -F'=' '{$sample_associative_array[$2]=$1}'  /tmp/sample.txt

给定/tmp/sample.txt 有:

abc=0
def=1

我试过了

echo $sample_associative_array[0]

它不起作用。

如有任何帮助,我们将不胜感激。

干杯!

最佳答案

不完全一样,但是你可以让 awk 输出字符串,bash 内置命令 declare 可以使用这些字符串来填充关联数组。不过,我不完全确定您为什么要这样做。

$ declare $( awk -F'=' '{print "aa["$2"]="$1}' sample.txt )
$ echo ${aa[0]}
abc
$ echo ${aa[1]}
def

关于bash - 在 awk 中分配一个 bash 关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15218301/

相关文章:

java - 将整个 HTML 页面转换为单个 JavaScript 字符串

awk - centos firewall-cmd 使用脚本阻止awk ips

awk - 如何按顺序打印与正则表达式模式匹配的元素?

linux - 在 shell 脚本中通过 fork() 父进程创建子进程

bash - 使用 env 和在命令前面进行变量赋值有什么区别?

php - 如何在 Apache2 中用 php 执行 shell 脚本?

linux - 关于命令 "find"的问题

perl - 替换最后一列中的第四列,同时从第三列中选择唯一值

具有自定义输出的 man 的 bash 脚本

bash - 如何在 Mac Catalina 上对终端输出进行着色