小编Egg*_*ead的帖子

Shell 脚本中的关联数组

我看到了在 shell 脚本中实现关联数组的技巧。例如,print array["apples"]可以将脚本编写为echo \$array$keywhere key=apples。

但是,没有提到如何生成键来迭代数组。我能想到的唯一方法是将键存储在一个由空格分隔的变量中,这样我就可以使用 for 循环来遍历数组。

那么,是否有其他方法可以存储密钥以备后用?

shell-script associative-array

11
推荐指数
2
解决办法
3万
查看次数

shell 脚本 - echo 命令未按正确顺序打印

我有以下几点testfile.txt

string1 1  
string2 2  
string3 3  
string1 2  
string2 4  
string3 6  
string1 3  
string2 6  
string3 9  
Run Code Online (Sandbox Code Playgroud)

我有以下脚本:

#!bin/sh

oldstr="abc"  
while read line  
do  
    newstr=\`echo "$line" | sed 's/\(.*\)\( \)\([0-9].*\)/\1/'\`
    echo "$oldstr vs $newstr"

    if [ $oldstr == $newstr ] 
    then 
       echo "old $oldstr"
    else
       oldstr=$newstr
       echo "new $oldstr"
    fi
done < $@ | sort
echo "done"
Run Code Online (Sandbox Code Playgroud)

然后我运行脚本:

$ sh test.sh testfile.txt
Run Code Online (Sandbox Code Playgroud)

并得到输出:

abc vs string1  
new string1  
new string1  
new string1  
new string2  
new string2 …
Run Code Online (Sandbox Code Playgroud)

shell-script

1
推荐指数
1
解决办法
3905
查看次数

标签 统计

shell-script ×2

associative-array ×1