天天看點

shell 數組

執行個體一:基本定義 運用shell的數組

<code>#!/bin/bash</code>

<code>#by xxx at 2016</code>

<code>#定義數組 并指派</code>

<code>log_file_name=(access error licess)</code>

<code>#擷取數組的長度</code>

<code>log_file_num=${</code><code>#log_file_name[@]}</code>

<code>echo</code> <code>$log_file_num </code>

<code>for</code>  <code>((i=0;i&lt;$log_file_num;i++))</code>

<code>do</code>

<code>#擷取數組的下标為i的值,數組的下标是從0開始的</code>

<code>    </code><code>echo</code> <code>${log_file_name[i]}</code>

<code>done</code>

第二:深入一點的

數組資料來自指令

<code># files=($(ls))</code>

<code># echo ${files[@]} </code>

<code># echo ${files[@]} | tr " " "\n"</code>

第三:周遊數組

<code>for</code> <code>((i=0;i&lt;${</code><code>#array[@]};i++));do echo ${array[$i]};done</code>

第四:很數組有關的題目:

bash for 循環列印下面這句話中字母大于6的單詞

<code>str=</code><code>"i am oldboy teacher welcome to oldboy trainning class."</code>

<code>for</code> <code>sub </code><code>in</code> <code>`</code><code>echo</code> <code>$str`</code>

<code>#for sub in `echo $str| tr " " "\n"`</code>

<code>    </code><code>if</code> <code>[ ${</code><code>#sub} -ge 6 ];then</code>

<code>        </code><code>echo</code> <code>$sub</code>

<code>    </code><code>fi</code>

總結:

最常用的兩種定義數組的方法

1 array=(value1 value2 valu3 valuen)

2 array=($(cmd))

最常用的擷取數組的内容

1 擷取長度echo ${#array[@]}

2 擷取元素 echo ${array[index]}

最常用的循環列印

for ((i=0;i&lt;${#array[@]};i++))

for f in ${array[@]}

擴充:有關字元串長度的方法:

1 子串的方法

2 wc -c 的方法

3 expr length

4 awk 的length函數

7

本文轉自殘劍部落格51CTO部落格,原文連結http://blog.51cto.com/cuidehua/1829186如需轉載請自行聯系原作者

cuizhiliang