Linux基礎(chǔ)之三劍客AWK基礎(chǔ)篇

awk介紹

  • AWK是一種優(yōu)良的文本處理工具,Linux及Unix環(huán)境中現(xiàn)有的功能最強(qiáng)大的數(shù)據(jù)處理引擎之一
  • 這種編程及數(shù)據(jù)操作語言(其名稱得自于它的創(chuàng)始人阿爾佛雷德·艾侯、彼得·溫伯格和布萊恩·柯林漢姓氏的首個(gè)字母)的最大功能取決于一個(gè)人所擁有的知識
  • AWK(Aho、Weinberger、Kernighan) ,報(bào)告生成器,簡單的來說就是打報(bào)表,格式化文本輸出
  • 它具備了一個(gè)完整的語言所應(yīng)具有的幾乎所有精美特性
  • 實(shí)際上AWK的確擁有自己的語言:AWK程序設(shè)計(jì)語言,三位創(chuàng)建者已將它正式定義為“樣式掃描和處理語言”
  • AWK版本還特別多;New AWK (nawk), GNU AWK (gawk),當(dāng)然我們用的是GAWK,屬于GNU項(xiàng)目

awk基本用法

  • awk報(bào)告生成器,格式化輸出文本文件

  • awk基本語法格式

    • awk [options] ‘program’ var=value file…
    • awk [options] -f programfile var=value file…
    • awk [options] 'BEGIN{ action;… } pattern{ action;… } END
    • action;… }' file ...
  • optinos 表示可選的命令行選項(xiàng)

  • prgoramawk語句

  • var=value自己定義變量

  • file.... 處理文本文件

  • programfile 調(diào)用程序文件

  • program通常是被單引號或雙引號中,建議用單引號,雙引號在后面有其他用途

  • awk程序

    • awk 程序通常由:BEGIN語句塊、能夠使用模式匹配的通用語句塊、END語句塊,共3部分組成
  • awk選項(xiàng)

    • -F: 指明輸入時(shí)用到的字段分隔符
[root@localhost ~]# awk -F: '{print $1}' /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
systemd-bus-proxy
systemd-network
dbus
polkitd
colord
abrt
libstoragemgmt
rpc
 -  -v :var=value: 自定義變量
[root@localhost ~]# awk -v RS=':' '{print }'  /etc/passwd
root
x
0
0
root
/root
/bin/bash
bin
x
1
1
bin
/bin
/sbin/nologin
daemon
x
2
2
daemon
/sbin

awk語言

  • 基本格式:awk [options] 'program' file…
  • program:pattern{action statements;..}
  • pattern和action:
    • pattern:部分決定動作語句何時(shí)觸發(fā)及觸發(fā)事件
    • BEGIN:相當(dāng)于處理文件內(nèi)容之前執(zhí)行的一個(gè)語句,用于打印標(biāo)題
    • END:
      • action statements:對數(shù)據(jù)進(jìn)行處理,如統(tǒng)計(jì)、匯總等
  • 分割符、域和記錄
  • awk在執(zhí)行時(shí),由分割符來分割字段,可以用冒號或者斜線等等要看自己的指定
  • 切割完已后那就是一個(gè)字段,可以說是局部變量$1、$2...... 用awk自己來調(diào)用,不用自己聲明,有一個(gè)需要注意$0就是所有字段或所有列
  • 選項(xiàng)-F就是用來指定分割符的
  • 域的意思就是已經(jīng)被切割完的字符,也可以稱呼為列或字段等,比如說第一行就用$1他會把一列全打印顯示處理
  • 記錄就是說一行就是一條記錄,怎么去區(qū)分行一行或幾行,那就是分割符,分割符要看自己來指定千萬別記太死
  • 默認(rèn)空格為換行符,但是其他的換行符需要自己指定

awk工作原理

  • 第一步:執(zhí)行BEGIN{action;… }語句塊中的語句
  • 第二步:從文件或標(biāo)準(zhǔn)輸入(stdin)讀取一行,然后執(zhí)行pattern{ action;… }語句塊,它逐行掃描文件,從第一行到最后一行重復(fù)這個(gè)過程,直到文件全部被讀取完畢
  • 第三步:當(dāng)讀至輸入流末尾時(shí),執(zhí)行END{action;…}語句塊
  • BEGIN:這是一個(gè)可選的語句塊,比如變量初始化、打印輸出表格的表頭等語句
  • END: 這也是一個(gè)科學(xué)的語句塊,比如打印所有行的分析結(jié)果等信息匯總或awk輸入流讀取完所有信息將會執(zhí)行END
  • pattern語句塊中的通用命令是最重要的部分,也是可選的。如果沒有提供pattern語句塊,則默認(rèn)執(zhí)行{ print },即打印每一個(gè)讀取到的行,awk讀取的每一行都會執(zhí)行該語句塊

print

  • AWK是默認(rèn)讀取標(biāo)準(zhǔn)輸入的命令

  • 讀取多少行就打印多少行,用文件輸入或手動輸入都可以

  • 要點(diǎn):

    • 逗號分隔符
    • 輸出的各item可以字符串,也可以是數(shù)值;當(dāng)前記錄的字段、變量或awk的表達(dá)式
    • 如省略item,相當(dāng)于print $0
  • 示例

    [root@localhost ~]# awk '{print "hello,awk"}' /etc/passwd
hello,awk
hello,awk
hello,awk
hello,awk
hello,awk
hello,awk
hello,awk
hello,awk
  • 在輸出的時(shí)候,打印的內(nèi)容必須要以,號隔開不然會合并在一起
[root@localhost ~]# awk -F: '{print $1$4}' /etc/passwd 
root0
bin1
daemon2
adm4
lp7
sync0
shutdown0
halt0
mail12
operator0
games100
ftp50
nobody99
systemd-bus-proxy997
systemd-network192
dbus81
polkitd996
colord995
abrt173
  • 如果用,號將會分割開
[root@localhost ~]# awk -F: '{print $1,$4}' /etc/passwd 
root 0
bin 1
daemon 2
adm 4
lp 7
sync 0
shutdown 0
halt 0
mail 12
operator 0
games 100
ftp 50
nobody 99
systemd-bus-proxy 997
systemd-network 192
dbus 81
polkitd 996
colord 995
abrt 173
  • 如果你想用別的符號來分割你可以補(bǔ)上,中間加的是字符串哦,別搞混了
[root@localhost ~]# awk -F: '{print $1"===="$4}' /etc/passwd 
root====0
bin====1
daemon====2
adm====4
lp====7
sync====0
shutdown====0
halt====0
mail====12
operator====0
games====100
ftp====50
nobody====99
systemd-bus-proxy====997
systemd-network====192
dbus====81
polkitd====996
colord====995
abrt====173
  • 注意我們現(xiàn)在用的是變量不用加雙引號,如果是字符串必須要加雙引號,不然會這樣
[root@localhost ~]# awk -F: '{print $1====$4}' /etc/passwd  
awk: cmd. line:1: {print $1====$4}
awk: cmd. line:1:            ^ syntax error
  • 那如果我想取磁盤利于分區(qū)利用率怎么取,可以這樣
[root@localhost ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       41922560  385320  41537240   1% /
devtmpfs         2008832       0   2008832   0% /dev
tmpfs            2023456       0   2023456   0% /dev/shm
tmpfs            2023456    8772   2014684   1% /run
tmpfs            2023456       0   2023456   0% /sys/fs/cgroup
/dev/sda3       20961280 2679012  18282268  13% /usr
/dev/sda1         508580  148756    359824  30% /boot
tmpfs             404692       0    404692   0% /run/user/0
[root@localhost ~]# df|awk '{print $5}'
Use%
1%
0%
0%
1%
0%
13%
30%
0%
  • 如果我只想要數(shù)值,不想要符號,或我只想要分區(qū)的數(shù)值,怎么取,我們可以配合grep
[root@localhost ~]# df|grep '^/dev/sd'|awk '{print $5}'|awk -F% '{print $1 }'
1
13
30
  • 如果你什么都不寫會產(chǎn)生什么后果,那就相當(dāng)打印$0
[root@localhost ~]# awk '{print }' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
  • 格式輸出的時(shí)候變量一定要一個(gè)一個(gè)的打印如
[root@localhost ~]# awk -F: '{print $1,$5,$3}' /etc/passwd
root root 0
bin bin 1
daemon daemon 2
adm adm 3
lp lp 4
sync sync 5
shutdown shutdown 6
halt halt 7
mail mail 8
operator operator 11
games games 12
ftp FTP User 14
nobody Nobody 99
  • 不能這樣填寫變量
[root@localhost ~]# awk -F: '{print $1-3}' /etc/passwd     
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
  • 如果你想對其你可以加一個(gè)或多個(gè)TAB鍵,但是他是個(gè)字符串必須要加雙引號
[root@localhost ~]# awk -F: '{print $1"\t\t\t"$3}' /etc/passwd
root                    0
bin                     1
daemon                  2
adm                     3
lp                      4
sync                    5

awk變量

  • 在awk里面也支持內(nèi)置變量和自定義變量

內(nèi)置變量

  • 內(nèi)置變量
  • FS:輸入字段分割符,默認(rèn)為空白字符
  • FS是個(gè)變量需要賦值,功能和-F一樣
[root@localhost ~]# awk -v FS=: '{print $1}' /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
  • 還可以引用變量
[root@localhost ~]# awk -v FS=':' '{print $1,FS,$3}' /etc/passwd
root : 0
bin : 1
daemon : 2
adm : 3
lp : 4
sync : 5
shutdown : 6
halt : 7
mail : 8
operator : 11
games : 12
ftp : 14
nobody : 99
  • OFS:輸出字段分割符,默認(rèn)為空白字符
[root@localhost ~]# awk -F: -v OFS='-' '{print $1,$3}' /etc/passwd    
root-0
bin-1
daemon-2
adm-3
lp-4
sync-5
shutdown-6
halt-7
mail-8
operator-11
games-12
ftp-14
  • RS:輸入記錄分割符,指定輸入時(shí)的換行符,原換行符仍有效
[root@localhost ~]# awk -v RS=' ' '{print }' /etc/passwd 
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
  • ORS:輸出記錄分隔符,輸出時(shí)用指定符號代替換行符
[root@localhost ~]# awk -F: -v ORS="---" '{print $1}' /etc/passwd 
root---bin---daemon---adm---lp---sync---shutdown---halt---mail---operator---games---ftp---nobody---systemd-bus-proxy---systemd-network---dbus---polkitd---colord---abrt---libstoragemgmt---rpc---setroubleshoot---rtkit---usbmuxd---tss---geoclue---chrony---mysql---pulse---gdm---rpcuser---nfsnobody---postfix---ntp---ssh
  • NF:字段數(shù)量,表示一共有7個(gè)字段
[root@localhost ~]# awk -F: 'END{print NF}' /etc/passwd   
7
  • NR :行號
[root@localhost ~]# awk -F: '{print NR,$1}'  /etc/passwd
1 root
2 bin
3 daemon
4 adm
5 lp
6 sync
7 shutdown
8 halt
9 mail
10 operator
11 games
12 ftp
13 nobody
14 systemd-bus-proxy
15 systemd-network
16 dbus
17 polkitd
18 colord
19 abrt
  • FNR: 各個(gè)文件分別計(jì)數(shù),行號
[root@localhost ~]# awk '{print FNR,$0}' /etc/issue  /etc/fstab 
1 \S
2 Kernel \r on an \m
3 
4 Mage Education Learning Services
5 http://www.magedu.com
6 
1 
2 #
3 # /etc/fstab
4 # Created by anaconda on Thu Jul 13 08:26:25 2017
5 #
6 # Accessible filesystems, by reference, are maintained under '/dev/disk'
7 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
8 #
  • FILENAME:當(dāng)前文件名
[root@localhost ~]# awk -F: '{print FILENAME,$0}' /etc/issue
/etc/issue \S
/etc/issue Kernel \r on an \m
/etc/issue 
/etc/issue Mage Education Learning Services
/etc/issue http://www.magedu.com
/etc/issue 
  • ARGC:命令行參數(shù)的個(gè)數(shù)
[root@localhost ~]# awk -F: '{print ARGC}'  /etc/passwd /etc/issue /etc/fstab 
4
4
4
4
4
4
4
4
4
  • ARGV:數(shù)組,保存的是命令行所給定的各參數(shù)
[root@localhost ~]# awk -F: '{print ARGC,ARGV[0]}'  /etc/passwd /etc/issue /etc/fstab  
4 awk
4 awk
4 awk
4 awk
4 awk
4 awk
4 awk
4 awk
4 awk
4 awk
4 awk
4 awk
4 awk
變量名 屬性
$0 當(dāng)前記錄
$1~$n 當(dāng)前記錄的第n個(gè)字段
FS 輸入只讀分割符 默認(rèn)的是空格
RS 輸入記錄分割符 默認(rèn)為換行符
NF 當(dāng)前記錄中的字段個(gè)數(shù),就是有多少列
NR 已經(jīng)獨(dú)處的記錄數(shù),就是行號,從1開始
OFS 輸出字段分割符 默認(rèn)也是空格
ORS 輸出的記錄分割符 默認(rèn)為換行符
FNR 分別計(jì)數(shù)
FILENAME 顯示當(dāng)前文件名
ARGC 顯示參數(shù)個(gè)數(shù)
ARGV 打印數(shù)組參數(shù)

注:內(nèi)置變量很多,參閱相關(guān)資料

自定義變量

  • 自定義變量(區(qū)分字符大小寫)
    • -v var=value
    • 在program中直接定義
  • 示例
[root@localhost ~]# awk -v name=root '{print name}' /etc/passwd  
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
  • 變量調(diào)取還可以這樣
[root@localhost ~]# awk '{sex="male";print sex }'  /etc/passwd
male
male
male
male
male
male
male
male
male
male
male
male
male
male
male
  • 還可以把他寫成一個(gè)腳本如
[root@localhost ~]# vi f1.awk 
 {sex="male";print sex}  
~                                                                 
~                                                                 
  • 把他顯示調(diào)取出來,但是要記住在里面不要放單引號不然出錯(cuò)
[root@localhost ~]# awk -f  f1.awk /etc/passwd
male
male
male
male
male
male
male
male
male
male
male

printf

  • 格式化輸出:printf “FORMAT”, item1, item2, ...
  • 必須指定FORMAT, 也就是格式
  • 不會自動換行,需要顯式給出換行控制符,\n
  • FORMAT中需要分別為后面每個(gè)item指定格式符
  • 格式符:與item一一對應(yīng)
輸出控制符 含義
%C 顯示字符的ASCII碼
%d,%i 顯示十進(jìn)制整數(shù)
%e ,%E 顯示科學(xué)計(jì)數(shù)法數(shù)值
%f 顯示為浮點(diǎn)數(shù)
%g ,%G 以科學(xué)計(jì)數(shù)法或浮點(diǎn)形式顯示數(shù)值
%s 顯示字符串
%u 無符號整數(shù)
%% 顯示%自身
  • 修飾符:
    -#[.#]:第一個(gè)數(shù)字控制顯示的寬度;第二個(gè)#表示小數(shù)點(diǎn)后精度,%3.1f
    • -: 左對齊(默認(rèn)右對齊) %-15s
    • +:顯示數(shù)值的正負(fù)符號 %+d
  • 示例
[root@localhost ~]# awk -F: '{printf "%s---%d\n", $1,$3}'  /etc/passwd
root---0
bin---1
daemon---2
adm---3
lp---4
sync---5
shutdown---6
halt---7
mail---8
operator---11
games---12
ftp---14
nobody---99
systemd-bus-proxy---999
systemd-network---192
dbus---81
  • 如果你想右對齊可以這樣,因?yàn)槟J(rèn)是右對齊
[root@localhost ~]# awk -F: '{printf "%s---%d\n", $1,$3}'  /etc/passwd
root---0
bin---1
daemon---2
adm---3
lp---4
sync---5
shutdown---6
halt---7
mail---8
operator---11
games---12
ftp---14
nobody---99
systemd-bus-proxy---999
systemd-network---192
dbus---81
  • 如果你想左對齊,可以這樣
[root@localhost ~]# awk -F: '{printf "%-30s---%d\n", $1,$3}'  /etc/passwd
root                          ---0
bin                           ---1
daemon                        ---2
adm                           ---3
lp                            ---4
sync                          ---5
shutdown                      ---6
halt                          ---7
mail                          ---8
operator                      ---11
games                         ---12
ftp                           ---14
nobody                        ---99
systemd-bus-proxy             ---999
systemd-network               ---192
  • 還可以這樣玩,反正自己看著玩
[root@localhost ~]# awk -F: '{printf "%+30s---%+30d\n", $1,$3}'  /etc/passwd
                          root---                            +0
                           bin---                            +1
                        daemon---                            +2
                           adm---                            +3
                            lp---                            +4
                          sync---                            +5
                      shutdown---                            +6
                          halt---                            +7
                          mail---                            +8
                      operator---                           +11
                         games---                           +12
  • 還可以添加字符串,是里面不是外面注意
[root@localhost ~]# awk -F: '{printf "username:%-30s%-10d\n", $1,$3}'  /etc/passwd
username:root                          0         
username:bin                           1         
username:daemon                        2         
username:adm                           3         
username:lp                            4         
username:sync                          5         
username:shutdown                      6         
username:halt                          7         
username:mail                          8         
username:operator                      11        
username:games                         12        
username:ftp                           14        
username:nobody                        99        
username:systemd-bus-proxy             999       
username:systemd-network               192       
username:dbus                          81        

操作符

  • 算術(shù)操作符:
    • x+y, x-y, x*y, x/y, x^y, x%y
    • -x: 轉(zhuǎn)換為負(fù)數(shù)
    • +x: 轉(zhuǎn)換為數(shù)值
  • 字符串操作符:沒有符號的操作符,字符串連接
  • 賦值操作符:
  • =, +=, -=, *=, /=, %=, ^=
  • ++, --
  • 比較操作符:
  • ==, !=, >, >=, <, <=
  • 模式匹配符:~:左邊是否和右邊匹配包含 !~:是否不匹配
  • 示例
  • 下面的意思是如果$0包含root就打印,沒有就不打印
[root@localhost ~]# awk -F: '$0 ~ /root/{print $0}' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
  • 如下我想打印小于UID100的用戶
[root@localhost ~]# awk -F: '$3<=1000{print $1,$3}'  /etc/passwd
root 0
bin 1
daemon 2
adm 3
lp 4
sync 5
shutdown 6
halt 7
mail 8
operator 11
games 12
ftp 14
nobody 99
systemd-bus-proxy 999
systemd-network 192
  • 如果我想打印UID大于100的用戶
[root@localhost ~]# awk -F: '$3>=1000{print $1,$3}'  /etc/passwd
nfsnobody 65534
mageedu 1000
  • 邏輯操作符:與&&,或||,非!
  • 示例
[root@localhost ~]# awk -F: '$3>=0 && $3<=1000 {print $1,$3}' /etc/passwd   
root 0
bin 1
daemon 2
adm 3
lp 4
sync 5
shutdown 6
halt 7
mail 8
operator 11
games 12
ftp 14
nobody 99
systemd-bus-proxy 999
systemd-network 192
dbus 81
  • 或者小于10大于1000,的打印出來
[root@localhost ~]# awk -F: '$3<=0 || $3>=1000 {print $1,$3}' /etc/passwd  
root 0
nfsnobody 65534
mageedu 1000
  • 還可以取非
[root@localhost ~]# awk -F: '  !  ($3>1000) {print $1,$3}' /etc/passwd 
root 0
bin 1
daemon 2
adm 3
lp 4
sync 5
shutdown 6
halt 7
mail 8
operator 11
games 12
ftp 14
nobody 99
systemd-bus-proxy 999
systemd-network 192
dbus 81

正則表達(dá)式

  • 正則表達(dá)式要多練這里只舉幾個(gè)例子

  • 如果我只想用AWK來提取磁盤信息,怎么取,我們可以用包含來提取

[root@localhost ~]# df|awk '$0 ~ "^/dev/sd"' 
/dev/sda2       41922560  388520  41534040   1% /
/dev/sda3       20961280 2679012  18282268  13% /usr
/dev/sda1         508580  148756    359824  30% /boot
  • 當(dāng)前里面還可以取反
[root@localhost ~]# df|awk '$0 !~ "^/dev/sd"' 
Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs         2008832       0   2008832   0% /dev
tmpfs            2023456       0   2023456   0% /dev/shm
tmpfs            2023456    8800   2014656   1% /run
tmpfs            2023456       0   2023456   0% /sys/fs/cgroup
tmpfs             404692       0    404692   0% /run/user/0

BEGIN 和END 模塊

  • 通常,對于每個(gè)輸入行,awk 都會執(zhí)行每個(gè)腳本代碼塊一次。然而,在許多編程情況中
  • 可能需要在awk 開始處理輸入文件中的文本之前執(zhí)行初始化代碼。對于這種情況,awk 允許
  • 您定義一個(gè)BEGIN 塊。我們在前一個(gè)示例中使用了BEGIN 塊。因?yàn)閍wk 在開始處理輸入文件之前會執(zhí)行BEGIN 塊
  • 因此它是初始化 FS(字段分隔符)變量、打印頁眉或初始化其它
    在程序中以后會引用的全局變量的極佳位置

三目表達(dá)式

  • 三目就是三個(gè)元素,三個(gè)組成部分,第一部分冒號,以此類推
  • 示例
[root@localhost ~]# awk -F: '{$3>=1000?username="common user":username="sysuser";printf "%s  %s  %d\n" ,username,$1,$3}' /etc/passwd
sysuser  root  0
sysuser  bin  1
sysuser  daemon  2
sysuser  adm  3
sysuser  lp  4
sysuser  sync  5
sysuser  shutdown  6
sysuser  halt  7
sysuser  mail  8
sysuser  operator  11
sysuser  games  12
sysuser  ftp  14
sysuser  nobody  99
  • 或者來對齊下
[root@localhost ~]# awk -F: '{$3>=1000?username="common user":username="sysuser";printf "%s  %20s  %20d\n" ,username,$1,$3}' /etc/passwd 
sysuser                  root                     0
sysuser                   bin                     1
sysuser                daemon                     2
sysuser                   adm                     3
sysuser                    lp                     4
sysuser                  sync                     5
sysuser              shutdown                     6
sysuser                  halt                     7
sysuser                  mail                     8
sysuser              operator                    11
sysuser                 games                    12
sysuser                   ftp                    14
sysuser                nobody                    99
sysuser     systemd-bus-proxy                   999
sysuser       systemd-network                   192
sysuser                  dbus                    81
sysuser               polkitd                   998
sysuser                colord                   997
sysuser                  abrt                   173
sysuser        libstoragemgmt                   996
sysuser                   rpc                    32
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載 原文的排版和內(nèi)容都更加友好,并且詳細(xì),我只是在這里貼出了一部分留作自己以后參考和學(xué)習(xí),如希望更詳細(xì)了解AWK...
    XKirk閱讀 3,362評論 2 25
  • awk介紹awk變量printf命令:實(shí)現(xiàn)格式化輸出操作符awk patternawk actionawk數(shù)組aw...
    哈嘍別樣閱讀 1,731評論 0 4
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,166評論 2 33
  • 本章主要學(xué)習(xí)內(nèi)容awk介紹 ?awk基本用法 ?awk變量 ?awk格式化 ?awk操作符 ?awk條件判斷 ?a...
    楠人幫閱讀 1,368評論 0 8
  • awk:報(bào)告生成器,格式化文本輸出 內(nèi)容: awk介紹 awk基本用法 awk變量 awk格式化 awk操作符 a...
    BossHuang閱讀 1,551評論 0 9

友情鏈接更多精彩內(nèi)容