2016-03-30 27 views
1

Bashで配列を初期化する方法を読んだ後、ブログに書かれたいくつかの基本的な例を見ても、実際の使用には不確実性が残っています。面白い例は、おそらく昇順でソートすることです - 国をAからZまで無作為に、各文字ごとに1つずつリストします。bash配列の実際の使用

しかし現実の世界では、Bash配列はどのように適用されますか?それは何に適用されますか?配列の一般的な使用例は何ですか?これは私がよく知っていることを望んでいる1つの領域です。 bash配列を使用しているチャンピオンは誰ですか?あなたの事例を提示してください。

+0

あなたは物事のリストが必要なときはいつでも。だから、基本的に、常に。あなたは検索を試みましたか?彼らはこのサイトと数え切れないほどの場所のいたるところで使われています。 –

+0

文字列のリストが必要な場合や、個々の文字列に空白が含まれている場合に便利です。これがいつ必要なのかの例をお探しですか? – 5gon12eder

+0

ファイル名、検索語句、ユーザー名など。リストを繰り返し処理する必要があるたびに、つまり同じ操作をいくつかのことに行う必要があるたびに、 – choroba

答えて

5

私がBashで配列を使いたい場合がいくつかあります。

  1. スペースまたは$IFS文字を含む可能性のある文字列のコレクションを格納する必要がある場合。

    declare -a MYARRAY=(
        "This is a sentence." 
        "I like turtles." 
        "This is a test." 
    ) 
    
    for item in "${MYARRAY[@]}"; do 
        echo "$item" $(echo "$item" | wc -w) words. 
    done 
    
    This is a sentence. 4 words. 
    I like turtles. 3 words. 
    This is a test. 4 words. 
    
  2. 私は、キー/値のペアを保存したい場合には、例えば、短い名前が長い記述にマッピングされました。

    declare -A NEWARRAY=(
        ["sentence"]="This is a sentence." 
        ["turtles"]="I like turtles." 
        ["test"]="This is a test." 
    ) 
    
    echo ${NEWARRAY["turtles"]} 
    echo ${NEWARRAY["test"]} 
    
    I like turtles. 
    This is a test. 
    
  3. 私たちは、単一の「単語」の項目や数値を格納している場合であっても、配列は、それが簡単に私たちのデータをカウントし、スライスします。

    # Count items in array. 
    $ echo "${#MYARRAY[@]}" 
    3 
    
    # Show indexes of array. 
    $ echo "${!MYARRAY[@]}" 
    0 1 2 
    
    # Show indexes/keys of associative array. 
    $ echo "${!NEWARRAY[@]}" 
    turtles test sentence 
    
    # Show only the second through third elements in the array. 
    $ echo "${MYARRAY[@]:1:2}" 
    I like turtles. This is a test. 
    

バッシュアレイhereについてお読みください。 Bash 4.0以降では、リストにあるすべての操作(連想配列など)はサポートされていますが、どのバージョンで何が導入されたかを示すリンクが表示されます。

+1

カメが気に入らなければ、一重引用符は使用できません。 – 5gon12eder

+0

二重引用符で囲むことができます!または私は何かを逃している?ただ、私が持っていた1つの引用問題を修正しました。 – Will

+1

それは単なる冗談だった。あなたのコードは完璧です。 – 5gon12eder

関連する問題