標籤:hive 返回 數組元素 html unset set 尋找 padding blog
參考網址:http://www.cnblogs.com/chengmo/archive/2010/09/30/1839632.html
linux shell在編程方面比windows 批處理強大太多,無論是在迴圈、運算以及資料類型方面都是不能比較的。 下面是在數組方面一些操作的總結。
1、數組定義
[[email protected] ~]$ a=(1 2 3 4 5) [[email protected] ~]$ echo $a 1 |
一對括弧表示是數組,數組元素用“空格”符號分割開。
2、數組讀取與賦值
[[email protected] ~]$ echo ${#a[@]} 4 |
用${#數組名[@或*]} 可以得到數組長度
[[email protected] ~]$ echo ${a[0]} 1 [[email protected] ~]$ echo ${a[*]} 1 2 3 4 |
用${數組名[下標]} 下標是從0開始 下標是:*或者@ 得到整個數組內容
[[email protected] ~]$ a[1]=100 [[email protected] ~]$ echo ${a[*]} 1 100 3 4 [[email protected] ~]$ a[3]=100 [[email protected] ~]$ echo ${a[*]} 1 100 3 100 [[email protected] ~]$ a[4]=100 [[email protected] ~]$ echo ${a[*]} 1 100 3 100 100 |
直接通過 數組名[下標] 就可以對其進行引用賦值,如果下標不存在,自動添加新一個數組元素。
[[email protected] ~]$ a=(1 2 3 4 5) [[email protected] ~]$ echo ${a[*]} 1 2 3 4 5 [[email protected] ~]$ unset a [[email protected] ~]$ echo ${a[*]} [[email protected] ~]$ a=(1 2 3 4 5) [[email protected] ~]$ unset a[1] [[email protected] ~]$ echo ${a[*]} 1 3 4 5 [[email protected] ~]$ echo ${#a[*]} 4 |
直接通過:unset 數組[下標] 可以清除相應的元素,不帶下標,清除整個資料。
3、特殊使用
[[email protected] ~]$ a=(1 2 3 4 5) [[email protected] ~]$ echo ${a[*]:0:3} 1 2 3 [[email protected] ~]$ echo ${a[*]:1:4} 2 3 4 5 [[email protected] ~]$ c=(${a[*]:1:4}) [[email protected] ~]$ echo ${c[*]:1:4} 3 4 5 [[email protected] ~]$ c=(${a[*]:1:2}) [[email protected] ~]$ echo ${c[*]:1:1} 3 |
直接通過 ${數組名[@或*]:起始位置:長度} 切片原先數組,返回是字串,中間用“空格”分開,因此如果加上”()”,將得到切片數組,上面例子:c 就是一個新資料。
[[email protected] ~]$ a=(1 2 3 4 5) [[email protected] ~]$ echo ${a[@]/3/100} 1 2 100 4 5 [[email protected] ~]$ echo ${a[@]} 1 2 3 4 5 [[email protected] ~]$ a=(${a[@]/3/100}) [[email protected] ~]$ echo ${a[@]} 1 2 100 4 5 |
調用方法是:${數組名[@或*]/尋找字元/替換字元} 該操作不會改變原先數組內容,如果需要修改,可以看上面例子即加括弧賦值變成數組,重新定義資料。
linux shell 數組建立及提示