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]=
原聲JS中indexOf()方法在陣列中的應用一
定義和用法 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 語句來清楚地指定一個數組 # 宣告一個數組