在awk中,可以使用内置的sort函数对数组进行排序。sort函数的用法如下:
```
asort(array [, target])
```
其中,array是要排序的数组,target是可选参数,指定排序后的结果存放的数组名。如果不指定target,则会将排序后的结果直接覆盖原数组。
以下是一个示例,展示如何对数组进行排序:
```shell
$ 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参数。以下是一个示例:
```shell
$ 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,将排序后的结果存放在其中。