在awk中,可以使用內置的sort函數對數組進行排序。sort函數的用法如下:
asort(array [, target])
其中,array是要排序的數組,target是可選參數,指定排序后的結果存放的數組名。如果不指定target,則會將排序后的結果直接覆蓋原數組。
以下是一個示例,展示如何對數組進行排序:
$ awk 'BEGIN { arr[1]=3; arr[2]=1; arr[3]=2; print "Before sorting:"; for (i in arr) print arr[i] }'
Before sorting:
3
1
2
$ awk 'BEGIN { arr[1]=3; arr[2]=1; arr[3]=2; asort(arr); print "After sorting:"; for (i in arr) print arr[i] }'
After sorting:
1
2
3
在上述示例中,首先創建了一個包含三個元素的數組arr。然后,使用asort函數對數組進行排序,并將結果存放在原數組arr中。最后,使用for循環遍歷數組,打印排序后的結果。
如果你想將排序后的結果存放在另一個數組中,可以指定target參數。以下是一個示例:
$ awk 'BEGIN { arr[1]=3; arr[2]=1; arr[3]=2; asort(arr, sortedArr); print "Original array:"; for (i in arr) print arr[i]; print "Sorted array:"; for (i in sortedArr) print sortedArr[i] }'
Original array:
3
1
2
Sorted array:
1
2
3
在這個示例中,除了對數組進行排序,還創建了一個新的數組sortedArr,將排序后的結果存放在其中。