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

歡迎訪問 生活随笔!

生活随笔

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

linux

Linux系统命令三剑客之 awk

發布時間:2025/5/22 linux 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux系统命令三剑客之 awk 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

命令名稱:awk

作用:

? ? ?對文本和數據進行處理

詳細說明:

? ? ?awk 是一種編程語言,用于在linux/unix下對文本和數據進行處理。

?數據可以來自標準輸入(stdin)、一個或多個文件,或其它命令的輸出。

?它在命令行中使用,但更多是作為腳本來使用。awk有很多內建的功能,

?比如數組、函數等,這是它和C語言的相同之處,靈活性是awk最大的優勢。

語法格式:

? ? ?awk [options] 'scripts' var=value filename

常用參數:

? ? ?-F 指定分隔符(可以是字符串或正則表達式)

?-f 從腳本文件中讀取awk命令

?-v var=value 賦值一個用戶定義變量,將外部變量傳遞給awk

awk 腳本基本結構:

awk 'BEGIN{ print "start" } pattern{ commands } END{ print "end" }' filename

?一個awk 腳本通常由BEGIN語句+模式匹配+END語句三部分組成,這三部分都是可選項

工作原理:

第一步執行BEGIN 語句

第二步從文件或標準輸入讀取一行,然后再執行pattern語句,逐行掃描文件到文件全部被讀取

第三步執行END語句

? ? ? ? ?echo "hello world" | awk 'BEGIN{ print "welcome" } END{ print "2017-08-08" }'

? ? ? ? ?welcome

? ? ? ? ?2017-08-08

? ? ? ? ?echo -e? "hello world" | awk 'BEGIN{ print "welcome" } {print} END{ print "2017-08-08" }'

? ? ? ? ?welcome

? ? ? ? ?hello world

? ? ? ? ?2017-08-08

? ? ? ? ?#不加print參數時默認只打印當前的行

? ? ? ? ?[root@mingongge ~]# echo |awk '{ a="hello"; b="nihao"; c="mingongge"; print a,b,c; }'

? ? ? ? ?hello nihao mingongge

? ? ? ? #使用print以逗號分隔時,打印則是以空格分界

? ? ? ? ?echo |awk '{ a="mgg"; b="mingg"; c="mingongge"; print a" is "b" or "c; }'

? ? ? ? ?mgg is mingg or mingongge

? ? ? ? #awk的print語句中雙引號其實就是個拼接作用

awk 的變量使用:

??? ?內置變量

?$0? ? ? ?#當前記錄

?$1~$n? ? #當前記錄的第N個字段

?FS? ? ? ?#輸入字段分隔符(-F相同作用)默認空格

?RS? ? ? ?#輸入記錄分割符,默認換行符

?NF? ? ? ?#字段個數就是列? ??

?NR? ? ? ?#記錄數,就是行號,默認從1開始

?OFS? ? ? #輸出字段分隔符,默認空格

?ORS? ? ? #輸出記錄分割符,默認換行符? ? ?

?外部變量傳入

?[mingongge@ ~]#a=100

? ? ? ? ?[mingongge@ ~]#b=100

? ? ? ? ?[mingongge@ ~]#echo |awk '{print v1*v2 }' v1=$a v2=$b

? ? ? ? ?10000

awk 運算與判斷:

? ? ?算術運算符

? ? ? ? ?+ -? 加減

?* / & 乘 除 求余

? ? ? ? ^ *? 求冪

++ -- 增加或減少,作為前綴或后綴

[mingongge@ ~]#awk 'BEGIN{a="b";print a,a++,a--,++a;}'

? ? ? ? ?b 0 1 1

[mingongge@ ~]#awk 'BEGIN{a="0";print a,a++,a--,++a;}'

? ? ? ? ?0 0 1 1

[mingongge@ ~]#awk 'BEGIN{a="0";print a,a++,--a,++a;}'

? ? ? ? ?0 0 0 1

#和其它編程語言一樣,所有用作算術運算符進行操作,操作數自動轉為數值,所有非數值都變為0

? ? ?賦值運算符

?= += -= *= /= %= ^= **=

?正則運算符

? ? ?~ !~? 匹配正則表達式/不匹配正則表達式

? ? ?邏輯運算符 ?

? ? ? ||? &&? 邏輯或? 邏輯與

?關系運算符

? < <= > >= != =?

?其它運算符

?$? ? ? 字段引用?

?空格? ?字符串鏈接符

??:? ? ?三目運算符

?ln? ? ?數組中是否存在某鍵值

awk 正則:

? ? ?^? ? 行首定位符

?$? ? 行尾定位符

?.? ? 匹配任意單個字符

?*? ? 匹配0個或多個前導字符(包括回車)

?+? ? 匹配1個或多個前導字符

??? ? 匹配0個或1個前導字符? ?

?[]? ?匹配指定字符組內的任意一個字符/^[ab]

?[^]? 匹配不在指定字符組內的任意一個字符

?()? ?子表達式

?|? ? 或者

?\? ? 轉義符

?~,!~ 匹配或不匹配的條件語句

?x{m}? x字符重復m次

?x{m,} x字符至少重復m次

?X{m,n} x字符至少重復m次但不起過n次(需指定參數-posix或--re-interval)



本文轉自 民工哥 51CTO博客,原文鏈接:http://blog.51cto.com/mingongge/1981142

總結

以上是生活随笔為你收集整理的Linux系统命令三剑客之 awk的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本黄视频网站 | 黄色精品网站 | 亚洲国产www | 日韩一区二区视频在线播放 | 日本在线 | 欧美交换国产一区内射 | 国v精品久久久网 | 在线视频亚洲欧美 | 91涩| 四虎免费在线观看 | 亚洲大尺度视频 | 国产小精品 | 成人免费在线 | 成人爱爱免费视频 | 美痴女~美人上司北岛玲 | av久色 | 操操操操操操 | 偷偷操不一样的久久 | 亚洲资源在线 | 亚洲视屏一区 | 日本xx视频 | 狠狠操网站 | 欧美激情一二三 | 亚洲av无码乱码国产精品fc2 | 日本一本二本三区免费 | 国产免费一区二区三区在线观看 | 色www国产亚洲阿娇 自拍一区在线 | av网站一区二区 | 色哟哟视频网站 | www.爱爱| 亚洲午夜毛片 | 久久美| 九九九精品视频 | 在线色播| 97一区二区三区 | 男人的天堂一级片 | 国产一级片免费播放 | 欧美日韩精品国产 | 国产免费三片 | 久久精品观看 | 日韩欧美综合视频 | 久久久久国产精品人妻 | 在线观看免费小视频 | 亚洲午夜久久 | 伊人ab | 久久深夜视频 | 日本黄色不卡 | 日批免费看| 色视屏| 欧美字幕 | 欧美成人高清在线 | 91久久精品国产91久久性色tv | 日本一级淫片 | 亚洲精品aaaaa | 综合九九 | 加勒比av在线播放 | 中国美女一级黄色片 | 亚洲高清中文字幕 | 一本色道久久综合狠狠躁的推荐 | h片免费在线观看 | 精品亚洲一区二区三区四区五区高 | 久久久精品久久 | 涩久久| 婷婷6月天 | 日日色综合 | 国产极品粉嫩 | 欧美一级免费视频 | 大又大粗又爽又黄少妇毛片 | 五月网 | 亚洲欧美一区二区三 | 狠狠插av| 国产精品成人久久电影 | 午夜影院在线观看18 | 日本天堂网在线观看 | xx久久 | 久久久久久国产精品一区 | 二级毛片 | 综合五月 | 99在线视频免费观看 | 男人与雌性宠物交啪啪 | 日本黄页网站 | 亚洲性xxxx | 9色在线视频| 欧性猛交ⅹxxx乱大交 | 五月婷婷小说 | 国产高潮视频在线观看 | 嘿咻视频在线观看 | 毛片大全在线观看 | 国产精品一区二区无线 | 岛国精品| 国产精品久久久久久久久久久新郎 | 野花视频免费在线观看 | 变态另类ts人妖一区二区 | 7777精品久久久久久 | 天堂久久久久 | 天天摸天天操天天爽 | 91精品国产色综合久久不卡98口 | 日韩欧美国产综合 | 日本黄视频网站 |