linux15三劍客之一awk 之陣列的學習

2022-09-13 22:21:22 字數 1958 閱讀 2407

grep

sedawk

過濾文件

修改文件

處理文字格式

具備某種特性的變數(資料)的集合就是陣列
方便查詢 方便查

方便有序的存放 方便存

普通陣列下標整數

關聯陣列下標可以是字元

linux中分為:普通陣列和關聯陣列

普通陣列:列表

關聯陣列:字典

declare -a 檢視當前陣列

下標從0開始

1.普通陣列直接定義:

[root@localhost ~

]# array=(zhang 18 man) 建立陣列

declare -a 檢視當前陣列

declare -a array=

'([0]="zhang" [1]="18" [2]="man")'

2.指定下標定義:

[root@localhost ~

]# array1=([2]='塞羅' [1]='190' [0]='haha')

declare -a array1=

'([0]="haha" [1]="190" [2]="塞羅")'

3.依次賦值:

先建乙個空陣列

在陣列名[下標]

=值 4

.使用命令:

``裡面加上命令

[root@localhost ~

]# array3=(`ls /root`)

讀取陣列

1.通過變數

[root@localhost ~

]# echo $array 預設列印第乙個值,下標為[0]的.

2.通過下標

[root@localhost ~

]# echo $ 加乙個大括號{}

3.反向取值

[root@localhost ~

]# echo $ 最後乙個值下標為-1

4.取所有值

[root@localhost ~

]# echo $ *取所有

通過下標

陣列名[下標]

=值 新增元素如果這個下標存在 則覆蓋, 若不存在則新增

刪除特定(指定)某乙個資料

unset刪除陣列指定下標的值

declare -a array=

'([0]="zhang" [1]="18" [2]="man" [5]="16")'

[root@localhost ~

]# unset array[5]

[root@localhost ~

]# echo $

zhang 18 man

刪除所有資料

後面直接跟陣列名

[root@localhost ~

]# unset array

定義	a

[root@localhost ~

]# declare -a array4=()

查詢 a

[root@localhost ~

]# declare -a --

----

----

----

----

----

----

----

----

----

----

----

--[root@localhost ~

]# array4["故鄉"]="上海"

[root@localhost ~

]# declare -a

declare -a array4=

'([故鄉]="上海" )'

和普通陣列基本一致

Linux三劍客之一 awk

awk 是一種優良的文字處理工具,linux及unix環境中現有的功能最強大的資料處理引擎之一。這種程式設計及資料操作語言的最大功能取決於乙個人所擁有的知識。awk命名 alfred aho peter weinberger和brian kernighan三個人的姓的縮寫。最簡單地說,awk 是一種...

linux 三劍客之 awk

awk是一種程式語言,用於在linux unix下對文字和資料進行處理。資料可以來自標準輸入 stdin 乙個或多個檔案,或其它命令的輸出。它支援使用者自定義函式和動態正規表示式等先進功能,是linux unix下的乙個強大程式設計工具。它在命令列中使用,但更多是作為指令碼來使用。awk有很多內建的...

linux三劍客(重點awk)

grep sed awk被稱為linux中的 三劍客 三者各有特長,具體見下 grep 更適合單純的查詢或匹配文字 sed 更適合編輯匹配到的文字 awk 更適合格式化文字,對文字進行較複雜的格式處理 awk命令格式 awk v fs v ofs begin end test fs處可為輸入 出欄位...