兩者排序區別:
asort 是對陣列的值進行排序,並且會丟掉原先鍵值;
asorti是對陣列的下標進行排序。
資料檔案:
12 34
78 90
23 45
1. awk是關聯陣列。for…in迴圈輸出時候,預設列印出來是無序陣列。
[root@zhenjiang ~]# awk 'end' test
78 90
12 34
23 45
2. asort排序輸出
[root@zhenjiang ~]# awk 'end' test 1
34 2
45 3
90
在最後執行命令,end中 asort對陣列a的值進行排序,把排序後的下標存入新生成的陣列b中,
丟棄陣列a下標值,再把陣列a的長度賦值給變數slen。
b[1]=34
b[2]=45
b[3]=90
此時a已經是空陣列。
陣列的值是無法直接print(輸出)的
,使用for迴圈取出數值的下標,輸出排序後的陣列b下標值及對應數值
3. asorti 排序輸出
[root@zhenjiang ~]# awk 'end' test 1
1234 2
2345 3
7890
在最後執行命令,end中 asorti對陣列a的下標進行排序,並把排序後的下標存入新生成的陣列b中,並把陣列a的長度賦值給變數l。
b[1]=12
b[2]=23
b[3]=78
陣列的值是無法直接print(輸出)的
,使用for迴圈取出數值的下標,輸出排序後的陣列b下標值及對應數值,再把陣列b的值當作陣列a的下標值列印陣列a的值。
**:乙個統計檔案大小並排序的指令碼:
ls -l | gawk ' } end '
1040 test_uuid.py
241 test_fun.pyc
43 test_os.py
58 test_fun.py
022 PHP陣列排序asort
構造乙個陣列變數 users array bob yobert steve btephen jon aonathon 迴圈輸出 reset 函式將內部指標指向陣列中的第乙個元素,並輸出。current 返回陣列中的當前元素的值,而 key 函式返回的是元素的鍵名。end 將內部指標指向陣列中的最後乙...
php通過asort 給關聯陣列按照值排序的方法
php通過asort 給關聯陣列按照值排序,和sort的區別是,sort為陣列中的單元賦予新的鍵名。原有的鍵名將被刪除。nums array 程式設計客棧 o 5,two 2,three 1 asort nums foreach nums as key val www.cppcns.com 本文標題...
sort與asort與ksort區別
sort只依據值從小到大排序,鍵值不參與排序 asort依據值排序,鍵值參與排序 ksort依據鍵值排序,值參與排序 sort只依據值從小到大排序,鍵值不參與排序。例 arr array a d d c b a sort arr var dump arr 結果array 3 asort依據值進行排序...