awk是一種編程語言,也是Linux下的一個(gè)文件管理命令,用于處理數(shù)據(jù)非常簡單、便捷。但很多人對(duì)這個(gè)命令了解的并不多,對(duì)此小編特整理了這篇文章,只需要5分鐘讓你輕松了解Linux awk命令,還在等什么?趕快學(xué)習(xí)吧! awk是一個(gè)強(qiáng)大的文本分析工具,相對(duì)于grep的查找,sed的編輯,awk在其對(duì)數(shù)據(jù)分析并生成報(bào)告時(shí),顯得尤為強(qiáng)大。簡單來說awk就是把文件逐行的讀入,以空格為默認(rèn)分隔符將每行切片,切開的部分再進(jìn)行各種分析處理。 awk有三個(gè)不同的版本:awk、nawk和gawk,未作特別說明,一般指gawk,gawk是awk的GNU版本。 之所以叫awk是因?yàn)槠淙×巳粍?chuàng)始人Alfred Aho,Peter Weinberger,和Brian Kernighan的Family Name 的首字符。 使用方法: awk'{pattern+action}'{filenames} 盡管操作可能會(huì)很復(fù)雜,但語法總是這樣,其中pattern表示awk在數(shù)據(jù)中查找的內(nèi)容,而action是在找到匹配內(nèi)容時(shí)所執(zhí)行的一系列命令。花括號(hào)({})不需要在程序中始終出現(xiàn),但它們用于根據(jù)特定的模式對(duì)一系列指令進(jìn)行分組。pattern就是要表示的正則表達(dá)式,用斜杠括起來。 awk語言的最基本功能是在文件或者字符串中基于指定規(guī)則瀏覽和抽取信息,awk抽取信息后,才能進(jìn)行其他文本操作。完整的awk腳本通常用來格式化文本文件中的信息。 通常,awk是以文件的一行為處理單位的。awk每接收文件的一行,然后執(zhí)行相應(yīng)的命令,來處理文本。 調(diào)用awk的三種方式 1、命令行方式 awk[-F field-separator]'commands'input-file(s) 其中,commands是真正awk命令,[-F域分隔符]是可選的。input-file(s)是待處理的文件。 在awk中,文件的每一行中,由域分隔符分開的每一項(xiàng)稱為一個(gè)域。通常,在不指名-F域分隔符的情況下,默認(rèn)的域分隔符是空格。 2、shell腳本方式 將所有的awk命令插入一個(gè)文件,并使awk程序可執(zhí)行,然后awk命令解釋器作為腳本的首行,一遍通過鍵入腳本名稱來調(diào)用。 相當(dāng)于shell腳本首行的:#!/bin/sh 可以換成:#!/bin/awk 3、將所有的awk命令插入一個(gè)單獨(dú)文件,然后調(diào)用: awk-f awk-script-file input-file(s) 其中,-f選項(xiàng)加載awk-script-file中的awk腳本,input-file(s)跟上面的是一樣的。 |
|