2013-10-02 79 views
0

不知道我們是否在linux Bash中設置了或者如何以最乾淨和有效的方式實現它。有什麼建議麼?謝謝。 澄清: 任務: 我們有一個文本文件中的名稱。 我們想創建一組名稱。 即:如果名稱不止一次列出,我們希望只有一個條目。 例如:文本文件包含:'Anna''John''Anna' 我們希望得到輸出:'Anna''John'(以任何順序) 技術:Bash 在像Java這樣的語言中,我會使用set 。在Bash中,我只涉及數組和字典(稱爲關聯數組)。字典可以作爲一個集合,但寧願有一個集合,因爲這是一個更簡單的結構。set in linux Bash

+1

你試過Google搜索嗎?顯然bash支持[一維數組](http://tldp.org/LDP/abs/html/arrays.html)。 –

+0

@RoddyoftheFrozenPeas:一維數組不是實現集合的好方法。 –

+0

套什麼?字符串?整型?你寫「集(集合)」;在這裏添加「收藏」這個詞是什麼?你確定你完全清楚你想要做什麼嗎? –

回答

3

bash聯想陣列,也可以用於集。這裏是一個簡短的例子:

declare -A names 
names['Mickey']=1 
names['Donald']=1 

for name in Mickey foobar; do 
    if [[ -n "${names[$name]}" ]]; then 
     echo "$name exists." 
    fi 
done