日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux中awk工具的使用(转载)

發(fā)布時間:2024/8/26 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux中awk工具的使用(转载) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  awk是一個非常好用的數(shù)據(jù)處理工具。相較于sed常常一整行處理,awk則比較傾向于一行當中分成數(shù)個“字段”處理,awk處理方式如下:

$ awk '條件類型1{動作1} 條件類型2{動作2} ...' filename

? ? 1.查看最近5條登錄用戶和ip地址

$ last -n 5|awk '{print $1"\t"$3}' lzyer 192.168.56.1 reboot boot lzyer 192.168.56.1 reboot boot lzyer 192.168.56.1wtmp Sat

注意:$0代表整行

變量名稱代表意義
NF每一行($0)擁有字段總數(shù)
NR目前awk處理的第幾行
FS目前分隔符,默認是空白

?

awk的邏輯運算

運算單元代表意義
>大于
<小于
>=大于等于
<=小于等于
==等于
!=不等于

值得注意的是那個“ == ”的符號,因為:

  • 邏輯運算上面亦即所謂的大于、小于、等于等判斷式上面,習慣上是以“ == ”來表示;
  • 如果是直接給予一個值,例如變量設置時,就直接使用 = 而已。

舉例來說,在 /etc/passwd 當中是以冒號 ":" 來作為字段的分隔, 該文件中第一字段為帳號,第三字段則是 UID。那假設我要查閱,第三欄小于 10 以下的數(shù)據(jù),并且僅列出帳號與第三欄, 那么可以這樣做:

$ cat /etc/passwd|awk '{FS=":"} $3<10 {print $0}' root:x:0:0:root:/root:/bin/zsh 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

統(tǒng)計數(shù)據(jù)例子:

$ cat pay.txt Name 1st 2nd 3th VBird 23000 24000 25000 DMTsai 21000 20000 23000 Bird2 43000 42000 41000 $ cat pay.txt|awk 'NR==1{printf "%10s %10s %10s %10s %10s\n",$1,$2,$3,$4,"Total"} \ NR>=2{total=$2+$3+$4 > printf "%10s %10d %10d %10d %10.2f\n",$1,$2,$3,$4,total}'Name 1st 2nd 3th TotalVBird 23000 24000 25000 72000.00DMTsai 21000 20000 23000 64000.00Bird2 43000 42000 41000 126000.00

?

轉(zhuǎn)載地址:https://www.cnblogs.com/lzeffort/p/7242762.html

轉(zhuǎn)載于:https://www.cnblogs.com/alsodzy/p/8532419.html

總結(jié)

以上是生活随笔為你收集整理的linux中awk工具的使用(转载)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。