awk命令详解是什么?

简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。

运算与判断:

作为一种程序设计语言所应具有的特点之一,awk支持多种运算,这些运算与C语言提供的基本相同:如+、-、*、/、%等等,同时,awk也支持C语言中类似++、--、+=、-=、=+、=-之类的功能,这给熟悉C语言的使用者编写awk程序带来了极大的方便。

作为对运算功能的一种扩展,awk还提供了一系列内置的运算函数(如log、sqr、cos、sin等等)和一些用于对字符串进行操作(运算)的函数(如length、substr等等)。这些函数的引用大大的提高了awk的运算功能。

作为对条件转移指令的一部分,关系判断是每种程序设计语言都具备的功能,awk也不例外。awk 中允许进行多种测试,如常用的==(等于)、!=(不等于)、>(大于)、>=(大于等于)、<=(小于等于)等等,同时,作为样式匹配,还提供了~(匹配于)和!~(不匹配于)判断。

作为对测试的一种扩充,awk也支持用逻辑运算符:!(非)、&&;(与)、||(或)和括号()进行多重判断,这大大增强了awk的功能。本文的附录中列出了awk所允许的运算、判断以及操作符的优先级。



  • linux awk鍛戒护鎬庝箞鐢?
    绛旓細awk鍛戒护鏄Alfred Aho, Peter Weinberger, Brian Kernighan涓変綅浣滆呰仈鍚堝紑鍙戠殑锛岀敤浜嶭inux/Unix涓鐞嗘暟鎹拰浜х敓鎶ュ憡銆俛wk鍛戒护鍔熻兘鍗佸垎寮哄ぇ锛屽彲鏍规嵁闇瑕佹姄鍙栥佹埅鍙栨寚瀹氱殑鍒楁垨琛屻傞鍏堝湪/mnt鐩綍涓嬪垱寤虹ず渚嬫枃鏈枃浠秄1锛屽叾鍐呭濡備笅锛1 hello hello 2 data data 3 xyz abc 4 123 789 5 ftp 6 Apache 7 ...
  • Linux鍏ラ棬绯诲垪鈥斺awk鍛戒护璇﹁В
    绛旓細awk鏄竴涓己澶х殑鏂囨湰鍒嗘瀽宸ュ叿锛屼笌grep銆乻ed鐩告瘮锛宎wk鍦ㄥ鏁版嵁鍒嗘瀽骞剁敓鎴愭姤鍛婃椂锛屾樉寰楁湁寰堝ぇ鐨勪紭鍔裤俛wk鏈変笁涓笉鍚岀殑鐗堟湰锛歛wk銆乶awk鍜実awk锛屽湪娌℃湁鍋氱壒娈婅鏃剁殑鏃跺欓粯璁ょ殑灏辨槸gawk锛実awk鏄awk鐨凣NU鐗堟湰銆傚叾涓璫ommand鏄湡姝g殑awk鍛戒护锛-F琛ㄧず鍩熺殑鍒嗛殧绗︼紝鏄釜鍙夐」銆侳ilename鏄瓑寰呭鐞嗙殑鏂囦欢 灏嗘墍鏈...
  • Linux绯荤粺鎬庝箞浣跨敤awk鍛戒护澶勭悊鏂囧瓧鏁版嵁?
    绛旓細2銆乤wk灏唒asswd涓殑鍐呭浠ュ啋鍙蜂负鍒嗛殧锛屽苟鍙栧嚭绗1锛3锛6浣嶇殑鏁版嵁 3銆乤wk灏唒asswd涓殑鍐呭浠ュ啋鍙蜂负鍒嗛殧锛屽苟鍙栧嚭绗1锛3锛6浣嶇殑鏁版嵁锛屽苟鐢ㄩ噰鐢╰ab閿綔涓哄垎闅旂 4銆乤wk浠ュ啋鍙蜂负鍒嗛殧绗︼紝鏄剧ず涓琛屼腑鏈夊灏戝瓧娈 5銆乤wk杩樺彲浠ュ皢姣忎竴琛屾渶鍚庣殑涓涓瓧娈垫樉绀哄嚭鏉 6銆awk鍛戒护杩樺彲浠ュ湪姣忎竴琛屽墠闈㈣緭鍑鸿鍙 7銆乤wk...
  • Linux 涓夊墤瀹㈠疄渚璇﹁В銆実rep銆乻ed 銆awk銆
    绛旓細Linux鏂囨湰澶勭悊鐨勪笁澶у姏閲忥紝grep銆乻ed鍜宎wk锛岃瑾変负"涓夊墤瀹"锛屽畠浠悇鏈夌壒鑹层傚ぇ甯堝厔awk鎿呴暱鎻愬彇鍒楋紝澶勭悊鏁版嵁鏃剁洿鎺ユ搷浣滄瘡涓鍒楋紱浜屽笀鍏剆ed鍒欎笓娉ㄤ簬琛屾搷浣滐紝鑳藉瀵规枃鏈繘琛岃閫夋嫨鍜屼慨鏀癸紱鑰屼笁甯堝厔grep鍒欎笓闀夸簬鏁版嵁杩囨护锛岄氳繃妯″紡鍖归厤鎵惧嚭鎵闇淇℃伅銆awk鍛戒护鐨勫熀鏈娉曟槸awk [options] 'script' file1 file2....
  • 濡備綍鍦↙inux涓娇鐢awk鍛戒护
    绛旓細Linux涓殑awk鍛戒护鏄涓绉嶅己澶х殑鏂囨湰澶勭悊宸ュ叿锛屽畠閫氳繃瑙f瀽姣忎竴琛屾暟鎹紝灏嗗叾鍒嗗壊鎴愬涓瓧娈佃繘琛屾搷浣滐紝鐗瑰埆閫傚悎浜庡皬鍨嬫暟鎹殑澶勭悊銆俛wk鐨勪富瑕佸伐浣滄ā寮忔槸閫氳繃涓绯诲垪鏉′欢鍜屽姩浣滄潵绛涢夊拰鏍煎紡鍖栨暟鎹備娇鐢╝wk鐨勫熀鏈娉曟槸锛歛wk '鏉′欢绫诲瀷1{鍔ㄤ綔1}鏉′欢绫诲瀷2{鍔ㄤ綔2}...' filename銆備竴涓洿瑙傜殑搴旂敤瀹炰緥鏄紝濡傛灉浣犳兂...
  • linux涓awkawklinux鏂囦欢
    绛旓細linux涓awk鍛戒护璇﹁В锛AWK鏄竴绉嶅鐞嗘枃鏈枃浠剁殑璇█锛屾槸涓涓己澶х殑鏂囨湰鍒嗘瀽宸ュ叿銆備箣鎵浠ュ彨AWK鏄洜涓哄叾鍙栦簡涓変綅鍒涘浜篈lfredAho锛孭eterWeinberger,鍜孊rianKernighan鐨凢amilyName鐨勯瀛楃銆傝娉 awk'script'var=valuefile(s)鎴 awk-fscriptfilevar=valuefile(s)閫夐」鍙傛暟璇存槑锛-Ffsor--field-separatorfs 鎸囧畾...
  • Linux涓夊墤瀹awk鍛戒护绡囦簩:鍛戒护鎿嶄綔绗
    绛旓細杩欓噷鐨 '/妯″紡/{鍔ㄤ綔} ' 绫讳技浜巗ed鐨鍛戒护鏍煎紡銆傛ā寮忥細(1) 姝e垯琛ㄨ揪寮(娉ㄦ剰鏍煎紡锛 /姝e垯琛ㄨ揪寮/ )(2) 鏉′欢琛ㄨ揪寮(渚嬪锛> <绛夌瓑)鎬荤粨锛氳繖閲岀殑妯″紡閫氫織鏉ヨ鏄 鐢ㄦ潵鎵捐皝锛 鑰屽姩浣滆〃绀烘槸 骞插暐銆2銆 awk鐨勫懡浠ゆ搷浣滅 (1) 姝e垯琛ㄨ揪寮忎笌bash涓鑷 (2) + - * / % ++ -- (3) && || 锛(4...
  • awk鍛戒护浣跨敤瀹炰緥
    绛旓細Awk锛屼竴涓己澶х殑鏂囨湰澶勭悊宸ュ叿锛屽叾鎿嶄綔鏂瑰紡鏄愭潯澶勭悊杈撳叆鏁版嵁锛岀洿鍒版枃浠剁粨鏉燂紝姣忔潯璁板綍鐢遍粯璁ょ殑鎹㈣绗﹀垎闅斻傝褰曚腑鐨勫瓧娈甸氳繃瀛楁鍙凤紙浠$1寮濮嬶級寮曠敤锛屾渶鍚庝竴涓瓧娈电敤$NF琛ㄧず锛屾暣涓褰曞垯鐢$0琛ㄧず銆侫wk鏀寔澶氱妯″紡锛屽寘鎷鍒欒〃杈惧紡銆佸叧绯昏〃杈惧紡銆佽寖鍥村拰鐗规畩琛ㄨ揪寮忋備緥濡傦紝浣犲彲浠ヤ娇鐢ㄦ鍒欒〃杈惧紡妯″紡濡傗/0.5...
  • linux鍛戒护awk浠涔鎰忔漧inux鍛戒护awk
    绛旓細linux涓嬫湁娌℃湁瀵逛竴鍒楁暟瀛楄繘琛屾眰鍜岀殑鍛戒护锛熷绗竴鍒楁暟瀛楁眰鍜岋細awk'{a+=$1}END{printa}'瀵圭浜屽垪鏁板瓧姹傚拰锛歛wk'{a+=$2}END{printa}'閫氳繃绠¢亾閫佽繃鍘伙細echoXXX|awk 鎴栬卆wk璇诲彇鏂囦欢 linux涓awk鍛戒护璇﹁В锛AWK鏄竴绉嶅鐞嗘枃鏈枃浠剁殑璇█锛屾槸涓涓己澶х殑鏂囨湰鍒嗘瀽宸ュ叿銆備箣鎵浠ュ彨AWK鏄洜涓哄叾鍙栦簡涓変綅鍒涘...
  • shell awk鍛戒护璇﹁В
    绛旓細awk鍛戒护 awk鏄竴绉嶇紪绋嬭瑷锛岀敤浜庡湪linux/unix涓嬪鏂囨湰鍜屾暟鎹繘琛屽鐞嗐傛暟鎹彲浠ユ潵鑷爣鍑嗚緭鍏(stdin)銆佷竴涓垨澶氫釜鏂囦欢锛屾垨鍏跺畠鍛戒护鐨勮緭鍑恒傚畠鏀寔鐢ㄦ埛鑷畾涔夊嚱鏁板拰鍔ㄦ佹鍒欒〃杈惧紡绛夊厛杩涘姛鑳斤紝鏄痩inux/unix涓嬬殑涓涓己澶х紪绋嬪伐鍏枫傚畠鍦ㄥ懡浠よ涓娇鐢紝浣嗘洿澶氭槸浣滀负鑴氭湰鏉ヤ娇鐢ㄣ俛wk鏈夊緢澶氬唴寤虹殑鍔熻兘锛屾瘮濡傛暟缁...
  • 本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网