awk的基本使用

2021-09-03 02:51:50 字數 2024 閱讀 1022

常用的分割

testphone 檔案中儲存了

18768193916,18768187118,13777495441,17764562286,15068118584,13186967520,13750893161,18758322331,18767180646,13588023315

cat testphone|awk -f ',' ''

可以列印出對應的手機號,和字段

-f指定分隔符

$1 指指定分隔符後,第乙個字段,$3第三個字段, \t是製表符

乙個或多個連續的空格或製表符看做乙個定界符,即多個空格看做乙個空格

awk -f":" ''  /etc/passwd

awk -f":" ''  /etc/passwd                       //$1與$3相連輸出,不分隔

awk -f":" ''  /etc/passwd                       //多了乙個逗號,$1與$3使用空格分隔

awk -f":" ''  /etc/passwd                  //$1與$3之間手動新增空格分隔

awk -f":" '' /etc/passwd       //自定義輸出  

awk -f: '' /etc/passwd                                //顯示每行有多少字段

awk -f: '' /etc/passwd                              //將每行第nf個字段的值列印出來

awk -f: 'nf==4 ' /etc/passwd                       //顯示只有4個字段的行

awk -f: 'nf>2' /etc/passwd                       //顯示每行字段數量大於2的行

awk '' /etc/passwd                                 //輸出每行的行號

awk -f: '' /etc/passwd      //依次列印行號,字段數,最後字段值,製表符,每行內容

awk -f: 'nr==5'  /etc/passwd                         //顯示第5行

awk -f: 'nr==5 || nr==6'  /etc/passwd       //顯示第5行和第6行

route -n|awk 'nr!=1'                                       //不顯示第一行

//匹配**塊

//純字元匹配   !//純字元不匹配~//字段值匹配    !~//字段值不匹配   ~/a1|a2/字段值匹配a1或a2

awk '/mysql/' /etc/passwd

awk '/mysql/' /etc/passwd

awk '/mysql/' /etc/passwd                   //三條指令結果一樣

awk '!/mysql/' /etc/passwd                  //輸出不匹配mysql的行

awk '/mysql|mail/' /etc/passwd

awk '!/mysql|mail/' /etc/passwd

awk -f: '/mail/,/mysql/' /etc/passwd         //區間匹配

awk '/[2][7][7]*/' /etc/passwd               //匹配包含27為數字開頭的行,如27,277,2777...

awk -f: '$1~/mail/' /etc/passwd           //$1匹配指定內容才顯示

awk -f: '' /etc/passwd     //與上面相同

awk -f: '$1!~/mail/' /etc/passwd          //不匹配

awk -f: '$1!~/mail|mysql/' /etc/passwd        

AWK的基本使用

由於一直在做it實施工作,所以工作中接觸到unix後台的東西多些.從剛開始只會使用cd pwd等簡單的命令,到後來順手就能寫個幾十行的shell指令碼,在這個過程中經歷了很多,也學習到了很多.awk是我個人認為使用最多,最高效的命令.本篇就先回憶下awk的基礎.awk雖然功能強大,但是其語法卻一點也...

awk程式設計基本使用示例

對於每一行,如果第三列大於0,則列印第一列,第二列 第三列的值 awk 3 0 file1 file2 f指定執行程式的檔案 awk f programfile inputfile 列印整行輸入 awk 或者 awk nr當前行數,nf當前行的列數,下面這個 是列印當前行的列數,第一列和最後一列 a...

awk命令基本使用(1)

1 通過man awk可知它的詳情 awk 是一種程式語言,awk有很多內建的功能,比如陣列 函式等.例項1通過awk得到ip root localhost ifconfig em1 link encap ethernet hwaddr 14 18 77 70 62 20 inet addr 10....