associative-array

在 TCL 中迭代数组,其中数组名称具有数字后缀
associative-array

在 TCL 中迭代数组,其中数组名称具有数字后缀

在TCL中,我有一些名称带有数字后缀的数组(即名称以数字结尾),如下所示: array set ps0 [ list 0 15.885 1 55.43 1 0.254 2 0.227 3 0.177 ] array set ps1 [ list 0 6.585 1 56.43 1 0.254 2 0.227 3 0.177 ] array set ps2 [ list 0 32.485 1 43.13 1 0.254 2 0.227 3 0.177 ] 我需要在 TCL 中迭代这些并获取值,但是,无论我做什么来转义数字后缀,我都无法同时获取数组和内容...

Admin

Bash 中这两种关联数组声明有什么区别?
associative-array

Bash 中这两种关联数组声明有什么区别?

我在 Bash 中玩了一下关联数组,在使用和不使用 声明完全相同的关联数组时发现了以下差异declare。代码如下: #!/usr/bin/env bash echo -e "\n\nASSOCIATIVE ARRAY\n" declare -A MY_MAP=( [Madrid]="Spanish" [London]="English" [Paris]="French" [1]=2 [3]=3.14 ) echo "First element: $MY_MAP" echo "Whole content a...

Admin

什么将使 `declare -A ASSOCIATIVEARRAY=( $())`工作?
associative-array

什么将使 `declare -A ASSOCIATIVEARRAY=( $())`工作?

bash评估以下表达式,没有任何异议: declare -A SPANISH=( [rojo]=red [verde]=green [azul]=blue ) ...但它一点也不喜欢这个: declare -A SPANISH=( $( echo "[rojo]=red [verde]=green [azul]=blue" ) ) bash: SPANISH: $( echo "[rojo]=red [verde]=green [azul]=blue" ): must use subscript when assigning associative arr...

Admin

awk 中数组的重复条目
associative-array

awk 中数组的重复条目

我有一个包含 4 列的文件。当我将这 4 列放入一个数组中并用作NR索引时,这些条目会以某种方式重复。有关该问题的详细说明,请参阅下文。 文件的前 5 行如下所示 -bash-4.2$ cat -ve file | head -n 5 chr start end p$ 13 59341171 59343427 1.86642E-18$ 10 72886545 72888679 1.13636E-09$ 16 81900987 81902805 6.79697E-09$ 1 46797890 46800143 2.24436E-08$ 我将每一行指定为由 索...

Admin

awk 无法识别数组的索引
associative-array

awk 无法识别数组的索引

我有两个制表符分隔的文件,每个文件都有两列。我想创建一个文件,其中包含两个文件的第 1 列重叠的元素。为此,我首先将文件 1 放入数组中,然后扫描该数组以检查文件 2 是否有重叠。但是,不知何故无法识别数组的索引。问题的详细说明见下文。 文件的前 3 行如下所示: 文件一: 90001 raw acceleration data 2634 Heavy DIY 1011 Light DIY 文件2: 2634 218263 25680 44313 25681 44313 要显示两个文件的第 1 列存在重叠: user@clus...

Admin

bash循环关联数组与变量数组名称
associative-array

bash循环关联数组与变量数组名称

我有很多关联数组,但我只想使用 1 个循环。按给定名称选择 for 循环数组 我想用变量选择/构建数组名称的一部分,然后用该名称循环,但它不起作用。 与 OUTPUT3 和 OUTPUT4 类似,但语法错误。 对于输出 3,我收到:“bash 错误替换” 对于输出 4,我收到:“仅数组名和 0” #!/bin/bash clear declare -A a1 a2 a3 a1['1']="1-1V" a2['1']="2-1V" a2['2']="2-2V" a3['1']="3-1V" a3['2']="3-2V" a3['3']="3-3V" ...

Admin

如何计算目录中每个文件的行数,然后创建 n 行文件数的摘要
associative-array

如何计算目录中每个文件的行数,然后创建 n 行文件数的摘要

我正在尝试创建一个目录中有多少个文件有 n 行的摘要。我用来wc -l * | sort打印每个文件名的行数。我想要实现的是目录的摘要,该目录将产生: 56 5 60 6 3 7 等等,其中第一列代表文件数,第二列代表行数。 我查看了一个 awk 命令awk 'END{print NR}' directory/*,它返回整个目录中的行数。我考虑过printf格式化wc -l输出的解决方案。任何帮助将不胜感激!谢谢 ...

Admin

如何为命令动态设置环境变量?
associative-array

如何为命令动态设置环境变量?

我想使用某种带有纯 bash 的简约模板引擎并且envsubst: user@host:~$ env -i FOO=foo BAR="bar baz" envsubst '$FOO,$BAR' \ <<< 'Hello "$FOO" and "$BAR"!' Hello "foo" and "bar baz"! 以上有效,但仅包含静态变量。 现在让我们假设环境变量是动态给出的,就像关联数组一样: declare -A MY_ENV=([FOO]=foo [BAR]="bar baz") 解析数组键值对仅适用于没有空格的环境值(错误)...

Admin

似乎无法在 bash 中访问具有命名引用的关联数组
associative-array

似乎无法在 bash 中访问具有命名引用的关联数组

# SETUP PHP81 SYMLINKS declare -A cgi=([path]="/opt/remi/php81/root/usr/bin/php-cgi" [filename]="php-cgi81") declare -A config=([path]="/opt/remi/php81/root/usr/bin/php-config" [filename]="php-config81") declare -A phpize=([path]="/opt/remi/php81/root/usr/bin/phpize" [filename]="ph...

Admin

如何使用 jo 从 shell 中的关联数组创建 JSON 对象?
associative-array

如何使用 jo 从 shell 中的关联数组创建 JSON 对象?

我知道关于如何从关联数组创建 JSON但这不是我的问题。 我有这个关联数组: declare -A aliases aliases[Index]=components/Index/Exports aliases[Shared]=components/Shared/Exports aliases[Icons]=components/Icons/Exports 现在我需要将此关联数组转换为此 JSON: { "compilerOptions": { "baseUrl": ".", "paths": { ...

Admin

awk 如何处理哈希图中的冲突?
associative-array

awk 如何处理哈希图中的冲突?

是否awk使用单独的链接、开放寻址,或者是否有自己的方式来处理哈希图中的冲突? 执行gawk和nawk实现相同的算法吗? 谢谢。 ...

Admin

如何使用参数作为脚本的内部数组名称?
associative-array

如何使用参数作为脚本的内部数组名称?

当我编写名为 array_call_self.sh 的脚本时,如下所示 #!/bin/bash declare -A num word word=( [a]='index_a' [b]='index_b' [c]='index_c' ) num=( [a]=1 [b]=2 [c]=3 ) array=${$1[@]} for i in ${$array[@]};do echo $i done 当我运行bash array_call_self.sh word 它时返回我 test.sh: line 13: ${$1[@]}: bad su...

Admin

bash 关联数组,其中值是变量,打印每个值的变量名称
associative-array

bash 关联数组,其中值是变量,打印每个值的变量名称

我有以下关联数组。 var1="dog" var2="cat" var3="moose" declare -A asar01=( ["one"]="$var1" ["two"]="$var2" ["three"]="$var3" ) 我想循环并打印每个值变量名称。因此只会打印“var1”、“var2”和“var3”。我怎样才能做到这一点?我尝试了以下操作,但它打印了实际的脚本名称。作为第一个变量输出。 for i in "${!asar01[@]}";do echo "${!asar01[$i]}" done 我的示例尝试使用该${!varia...

Admin

Bash 将关联数组传递给后台函数/从后台函数传递一个关联数组
associative-array

Bash 将关联数组传递给后台函数/从后台函数传递一个关联数组

我试图通过引用将 bash 关联数组传递到函数中,然后能够在函数完成后在主脚本中看到更改的内容。我找到了似乎是最直接的方法这里除了我的情况之外,该函数正在运行在后台。似乎无论我做什么,我都无法让上面的链接解决方案在这种情况下工作。 在下面的代码片段中,我从上面的链接中获取了工作示例代码,并简单地在函数调用中添加了“&”,并在下一行添加了“wait”,以尽可能简单地演示该问题。 我怀疑 bash 试图阻止主脚本和后台函数互相踩踏,但我不知道如何解决。 示例代码: foo () { declare -n fooarray="$1" foo...

Admin

使用其他 bash 脚本中定义的变量
associative-array

使用其他 bash 脚本中定义的变量

我有一个 bash 脚本,我在名为 .txt 的文件中定义 UTF-8 希腊符号greek-utfb.sh。我想运行测试来显示用于打印文件 greek-utfb-scout 中的希腊字母的变量。 --- greek-utfb.sh ---- utfb-greek () { Alph="\u0391" # Alpha Beta="\u0392" # Beta Gamm="\u0393" # Gamma Delt="\u0394" # Delta Epsi="\u0395" ...

Admin