linux之shell awk 之二
修改數值域取值--修改M . Ta n s l e y的目前級別分域,使其數值從 4 0減為3 9,使用賦值語句$ 6 = $ 6 - 1,當然在實施修改前首先要匹配域名。
oracle@ser168:~/qilin/demo> awk '{if($1=="M.Tansley") $6=$6-1;print $1,$6,$7}' grade.txt
M.Tansley 39 44
J.Lulu 24 26
P.Bunny 35 28
J.Troll 26 26
L.Tansley 30 28
修改文字域--修改文字域即對其重新賦值。需要做的就是賦給一個新的字串。在 J . Tr o l l中加入字母,使其成為J . L . Tr o l l,表示式為$ 1 = " J . L . Tr o l l ",記住字串要使用雙秒號( " ") ,並用圓括號括起整個語法。
oracle@ser168:~/qilin/demo> awk '{if($1=="J.Troll")($1="J.L.Troll");print $1}' grade.txt
M.Tansley
J.Lulu
P.Bunny
J.L.Troll
L.Tansley
. 只顯示修改記錄
oracle@ser168:~/qilin/demo> awk '{if($1=="J.Troll") {($1="J.L.Troll");print $1}}' grade.txt
J.L.Troll
增加列值--
oracle@ser168:~/qilin/demo> awk '(tot+=$6);END{print "Club student total points:"tot}' grade.txt
M.Tansley 05/99 48311 Green 8 40 44
J.Lulu 06/99 48317 green 9 24 26
P.Bunny 02/99 48 Yellow 12 35 28
J.Troll 07/99 4842 Brown-3 12 26 26
L.Tansley 05/99 4712 Brown-2 12 30 28
Club student total points:155
如果檔案很大,你只想列印結果部分而不是所有記錄,在語句的外面加上圓括號()即可。
oracle@ser168:~/qilin/demo> awk '{(tot+=$6)}; END{print "Club student total points:"tot}' grade.txt
Club student total points:155
使用此模式列印檔名及其長度,然後將各長度相加放入變數 t o t中。
oracle@ser168:~/qilin/demo> ls -l | awk '/^[^d]/ {print $9"\t"$5}{tot+=$5} END {print "TOTAL KB:"tot}'
78
1657
1721
199
199
78
88
TOTAL KB:8116
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20976446/viewspace-684539/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux之shell awk 之一Linux
- linux之 awkLinux
- linux之awkLinux
- awk小技巧之執行shell命令
- linux之awk用法Linux
- Linux Shell指令碼系列之二Linux指令碼
- [Shell] awk初學之常見問題
- linux_shell awk中傳遞變數Linux變數
- awk 系列:如何讓 awk 使用 Shell 變數變數
- [Shell] awk 陣列(2)陣列
- [Shell] awk 陣列(1)陣列
- awk引用shell變數變數
- awk使用shell變數變數
- awk之二次分隔函式函式
- shell 中 grep、sed、awk 命令
- Linux三大劍客之awkLinux
- Linux shell工具grep awk cut sort uniq sort 使用小結Linux
- linux之shell findLinux
- linux之shell 其他Linux
- 【shell筆記>命令】grep,sed,awk筆記
- Shell字元操作命令——grep、sed、awk字元
- [Shell] awk學習(1)-pattern{action}
- [Shell] awk學習(2)-pattern{action}
- Linux三劍客之awk詳解Linux
- linux_shell_awk 處理 文字檔案 並匯入excelLinuxExcel
- Linux awkLinux
- Linux Shell Awk 流程控制語句(if,for,while,do)詳細介紹LinuxWhile
- Linux Shell Awk獲得外部變數(變數傳值)簡介Linux變數
- 007 Linux 命令三劍客之-awkLinux
- Linux三劍客之awk入門指引Linux
- Linux系統命令三劍客之 awkLinux
- [Shell] AWK實現SQL的功能(1)SQL
- [Shell] awk 統計分組資料
- [Shell] awk 實現列轉行例子
- Linux之shell變數Linux變數
- Linux Shell之表示式Linux
- Linux-(awk)Linux
- 程式猿必知必會Linux命令之awkLinux