1. 程式人生 > >shell 中的陣列的應用

shell 中的陣列的應用

Linux 的shell提供了簡單的陣列操作功能,下面進行簡單的介紹

1、建立一個數組

和普通的變數相同,shell中的陣列不需要宣告,直接定義並使用即可。對於一個變數,如果按照資料的方式去訪問它,那麼shell就會將其當做一個數組變數來操作。比如:

    H[0]=“1”

    H[1]="2"

    H[2]="3"

就定義了一個數組H,其中第一個元素是字元轉“1”,第二個元素是字串“2”,第三個元素是字串“3”。如果你嘗試訪問第四個元素,那麼會得到空,也就是什麼也沒有。或者你也可以通過另一種更快捷的方式來定義一個數組:

    H = (“1”  “2”  “3”)

陣列的下表不一定是連續的數字,比如你可以定義只含有兩個元素的陣列H如下:

    H[0] = 100

    H[100] = 0

該陣列中只有兩個元素,下表分別為0和100。

2、訪問陣列的元素

你可以通過下表來訪問陣列的元素,比如訪問陣列H下表為2的元素  ${H[2]}。如果給出的下表在資料中不存在,那麼將得到空。如果給出的不是數字下表,那麼返回陣列的第一個元素。比如${H[hahah]}將會返回陣列中第一個元素。

如果想要在一個for迴圈中訪問所有的陣列元素,可以通過  ${array[*]} 或者 ${array[@]} 來處理,比如:

   for e in ${H[@]}

   do

       echo $e

   done

如果想要得到陣列中元素的個數,可以使用  ${#array[@]}

 來操作。比如:

   echo ${#H[@]}    #輸出陣列H中元素的個數

3、shell陣列應用小例子

下面是一個shell指令碼,它讀入一定行的資料,輸出文字行的個數,並按照相反的順序輸出出來

 

相關推薦

shell陣列應用

1.陣列定義 ARRAY=(value1 value2 value3 …) 不管在哪種程式語言下,陣列的角標都是從0開始,shell也不例外,於是 ARRAY[0]=value1; ARRAY[1]=value2; ARRAY[2]=value3;

shell陣列的使用

1、陣列定義 1.1 declare定義 使用declare -a 命令定義陣列(陣列的索引是從0開始計數的),接下來就可以通過[]操作符為不同索引位置的元素賦值。 declare -a names names[0]=tom names[1]=jack 注意:shell變數

Shell陣列的操作

寫在前面 看一下Shell中陣列的幾種操作:定義、遍歷、修改、刪除、引數傳遞操作 定義 Shell中對於陣列的定義直接使用(),元素之間使用空格隔開即可 array=(1 2 3 4 5) array=(abc def gh) 取得陣列的值:取出所有的數值以及取出某個位置上的數值

[work] shell陣列下標訪問

shell中陣列的下標預設是從0開始的 1。將字串放在陣列中,獲取其長度 #!/bin/bash str="a b --n d" array=($str) length=${#array[@]} echo $length for ((i=0; i<$length;

Shell陣列元素排序的技巧

要將old=(4 7 1 101)裡面的元素,按自然數的順序排序,生成新的陣列new=(1 4 7 101)。如果要遍歷元素,藉助中間變數一個個比較的方式可能比較繁瑣,這裡有兩種比較簡單達到陣列重新排序。  方法一: 藉助於tr和sort命令 [[email 

linux shell 陣列的定義和for迴圈遍歷

linux shell中的語法和普通程式語言 c/c++  java 的不太一樣,平時用的不多,所以總是記不住,寫指令碼才會去查怎麼用。今天突然被問到陣列怎麼去遍歷。平時寫shell指令碼也經常遍歷陣列,但是一下沒答上來,被鄙視了。所以平時學習還是好好總結吧,不能每次都問度

Shell陣列的用法

1、陣列之間賦值 !#/bin/bash array1=( li yi hai ) array2=${array[@]} # 陣列之間賦值 for a in ${array2[@]}; do

使用shell陣列存資料並最終將資料存入檔案

近期做一個從某url介面獲取資料的小程式,發現因為該介面在海外,連線情況不穩定,資料下載速度也很慢。碰巧這些資料是下一步操作的源資料。而且後續的處理對資料完整性要求較高。開始時候直接使用curl將結果重定向到檔案中,結果每天都免不了出現一兩次報警。全是因為資料不

好程式設計師大資料分享Shell陣列講解

好程式設計師大資料分享Shell中陣列講解,陣列是Shell中非常重要的組成部分,它藉助索引將多個獨立的資料儲存為一個集合。陣列分

shell 陣列應用

Linux 的shell提供了簡單的陣列操作功能,下面進行簡單的介紹 1、建立一個數組 和普通的變數相同,shell中的陣列不需要宣告,直接定義並使用即可。對於一個變數,如果按照資料的方式去訪問它,那麼shell就會將其當做一個數組變數來操作。比如:     H[0]=

原聲JSindexOf()方法在陣列應用

定義和用法 indexOf() 方法可返回某個指定的字串值在字串中首次出現的位置。 提示和註釋 註釋:indexOf() 方法對大小寫敏感! 註釋:如果要檢索的字串值沒有出現,則該方法返回 -1。 註釋:字元位置是從 0 開

基於雙指標的滑動視窗方法在陣列問題應用

LeetCode中有道題:取一個字串中不含重複字元的最長子串的長度。原題是:Longest Substring Without Repeating Characters Given a string, find the length of the longest substri

Shell程式設計-10-Shell陣列

目錄 陣列基礎 陣列示例 陣列總結     如果大家有其他語言的基礎或經驗,就很快能明白陣列了。簡單來說,陣列就某一種相同型別的元素組合,而後通過下標對其進行訪問各元素。 陣列基礎 基礎語法 第一種形式 array=(value1 value2 value3 ...)

7月16日任務 shell的函式 、shell陣列、告警系統需求分析

  20.16 shell中的函式 函式就是把一段程式碼整理到了一個小單元中,並給這個小單元起一個名字,當用到這段程式碼時直接呼叫這個小單元的名字即可。 格式: function f_name() {     &nbs

JavaScript陣列應用

Array的應用   1)建立 new Array();new Array(size);new Array(element,element,...,element); 2)、Array物件屬性 constructor 返回對建立此物件的陣列函式的引用length 設定或者返回陣列中元素

Jenkins——應用篇——如何解決execute shell啟動的程序被在Job退出時被殺死問題

在部落內部時不時的會有同學問一為什麼在execute shell中不能啟動tomcat、為什麼在windows batch中不能啟動tomcat等問題,其實大部分情況下不是不能啟動,而是啟動後隨著job結束程序被殺死,造成不能啟動的假象,這一點從tomcat的日誌中可以看來,

[work] Linux Shell陣列及遍歷

在Linux下使用shell的時候,為方便起見,偶爾會用到一下陣列。陣列的申明方式是: [java] view plain copy array=(element1 element2 element3 .... elementN)   也就是直接用圓括號包陣列元素包起來,陣

JavaScript陣列應用方式

陣列的增加方法 1. push() 方法向陣列中末尾新增一個元素,原陣列改變 2. unshit() 方法向陣列中開始元素新增一個元素,原陣列改變 3.splice()方法 ary.splice(n,m,x) 從索引n開始刪除m個元素,把新增的元素X放在索引n的前面,把刪除的元素當成一個新陣

Shell的tr命令加密解密的一個小應用

tr命令可以來刪除或替換,這個可能大家都非常熟悉。比如 [[email protected] ~]# echo "The Number:12345" | tr -cd '[0-9]' # 僅保留數字 12345 [[email protected] ~]# echo "

shell指令碼 陣列的基本用法

在shell指令碼中,陣列 也是一種常用的資料結構,這篇文章簡單 說一下 陣列的基本用法. 1 陣列的宣告 這樣就可以 宣告 arr  ,和 iplist 的陣列 #陣列的宣告 # 用 declare -a variable 語句來清楚地指定一個數組 # 宣告一個數組