1.2.1. 案例資料$0
當前處理行的所有記錄
$1,$2,$3...$n
檔案中每行以間隔符號分割的不同字段
nf
當前記錄的字段數(列數)
$nf
最後一列
fnr/nr
行號
fs
定義間隔符
ofs
定義輸出字元分隔符,預設空格
rs
輸入記錄分隔符,預設換行
ors
輸出記錄分隔符,預設換行
1.2.2. 輸出# chen @ localhost in ~/shell [17:25:59]
$ cat -n passwd
1 root:x:0:0:root:/root:/bin/zshi
2 cccccccccccccccccccbbbbbbbbbbbbbbb:aa
3 in:x:1:1:bin:/bin:/sbin/nologin
4 ddaemon:x:2:2:daemon:/sbin:/sbin/nologin
5 adm:x:3:4:adm:/var/adm:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
passwd
檔案中所有行1.2.3. 輸出# chen @ localhost in ~/shell [17:51:07]
$ awk
''passwd
root:x:0:0:root:/root:/bin/zshi
cccccccccccccccccccbbbbbbbbbbbbbbb:aa
in:x:1:1:bin:/bin:/sbin/nologin
ddaemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
passwd
檔案中1至5行1.2.4. 輸出# chen @ localhost in ~/shell [17:52:34]
$ awk
'nr==1,nr==5 '
passwd
root:x:0:0:root:/root:/bin/zshi
cccccccccccccccccccbbbbbbbbbbbbbbb:aa
in:x:1:1:bin:/bin:/sbin/nologin
ddaemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
passwd
檔案中1,5行1.2.5. 輸出# chen @ localhost in ~/shell [17:55:10]
$ awk
'nr==1 || nr==5 '
passwd
root:x:0:0:root:/root:/bin/zshi
adm:x:3:4:adm:/var/adm:/sbin/nologin
passwd
檔案中每行第一列,倒數第一列,倒數第二列1.2.6. 輸出# chen @ localhost in ~/shell [17:59:57]
$ awk -f: ''
passwd
root /bin/zshi /root
cccccccccccccccccccbbbbbbbbbbbbbbb aa cccccccccccccccccccbbbbbbbbbbbbbbb
in /sbin/nologin /bin
ddaemon /sbin/nologin /sbin
adm /sbin/nologin /var/adm
sync /bin/sync /sbin
shutdown /sbin/shutdown /sbin
passwd
檔案中每行的列數1.2.7. 輸出# chen @ localhost in ~/shell [18:00:52]
$ awk -f: ''
passwd72
7777
7
passwd
檔案中包含adm
的第一列1.2.8. 以@@@為分隔符,輸出# chen @ localhost in ~/shell [18:03:05]
$ awk -f: '/adm/'
passwd
adm
passwd
檔案中的第一列和最後一列# chen @ localhost in ~/shell [18:07:29]
$ awk -f: 'begin '
passwd
root@@@/bin/zshi
cccccccccccccccccccbbbbbbbbbbbbbbb@@@aa
in@@@/sbin/nologin
ddaemon@@@/sbin/nologin
adm@@@/sbin/nologin
sync@@@/bin/sync
shutdown@@@/sbin/shutdown
# 方法2
# chen @ localhost in ~/shell [18:08:26] c:1
$ awk
'begin '
passwd
# 方法3
# chen @ localhost in ~/shell [18:08:51]
$ awk
'begin '
passwd
awk 呼叫變數
一 用awk 有以下幾種方法去呼叫變數 1.awk a 111 b 222 yourfile 注意 變數位置要在 file 名之前,否則就不能呼叫。還有 於 begin 中是不能呼叫這些的 variable.要用之後所講的第二種方法才可解決.2.awk v a 111 v b 222 yourfil...
awk 系列 如何使用 awk 內建變數
我們將逐漸揭開 awk 功能的神秘面紗,在本節中,我們將介紹 awk 內建built in變數的概念。你可以在 awk 中使用兩種型別的變數,它們是 使用者自定義user defined變數 我們在第八節中已經介紹了 和內建變數。awk 內建變數示例 awk 內建變數已經有預先定義的值了,但我們也可...
Shell 基礎(變數設定,awk工具)
目錄概述 變數常用 vim awk shell從誕生之初,就和普通的pc使用者無緣了,工程師應該會喜歡shell,maybe是這個樣子的。shell 提供了你和作業系統linux之間的通訊方式。shell的工作方式有兩種 你在終端寫出的shell命令,計算機是無法直接理解的,需要shell直譯器來完...