国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

Linux awk 命令

2016-12-02 16:59:46 7739

簡(jiǎn)介

AWK:三位創(chuàng)造者Aho、Weinberger和Kernighan統(tǒng)稱(chēng)

官方定義:一個(gè)優(yōu)秀的樣式掃描與處理工具

定位:AWK是一種用于處理文本的編程語(yǔ)言工具,主要用于格式化報(bào)文或從一個(gè)大的文本文件中抽取數(shù)據(jù)。提取原來(lái)文本中行的某些域進(jìn)行計(jì)算組合顯示出結(jié)果

 

【掃描文件中的每一行,查找與命令行中所給定內(nèi)容相匹配的模式。如果發(fā)現(xiàn)匹配內(nèi)容,則進(jìn)行下一個(gè)編程步驟。如果找不到匹配內(nèi)容,則繼續(xù)處理下一行,直到文件末尾

 

[Shell過(guò)濾工具中最難掌握的,語(yǔ)法復(fù)雜,錯(cuò)誤提示不明確]

 

優(yōu)點(diǎn):

1.處理文件中的?錄

2.簡(jiǎn)單,解釋執(zhí)行,不必編譯(與C相比)

3.容易獲得,unix自帶(whereis awk)

模式和動(dòng)作

模式部分決定了動(dòng)作語(yǔ)句何時(shí)觸發(fā)及觸發(fā)的事件【處理語(yǔ)句】

模式部分可省略,則動(dòng)作對(duì)每一行執(zhí)行;模式部分可以是任何條件語(yǔ)句、復(fù)合語(yǔ)句、正則表達(dá)式



命令格式及說(shuō)明

格式:

語(yǔ)法組成:【查找  -à 執(zhí)行處理】

awk ‘pattern{action}’ filename

【注意,pattern在非括號(hào)中,用于查詢(xún)篩選匹配行,action在括號(hào)中,action是在找到匹配內(nèi)容時(shí)所執(zhí)行的一系列命令,用于對(duì)篩選后的內(nèi)容進(jìn)行處理】

 

其中action內(nèi)容可擴(kuò)充,也可以有多個(gè)action。
執(zhí)行順序:awk一行行讀入輸入文件,順序執(zhí)行‘’內(nèi)內(nèi)容,按模式匹配來(lái)采取動(dòng)作。
其他調(diào)用:awk可用內(nèi)部變量和函數(shù),條件與循環(huán)?句,也可執(zhí)行數(shù)學(xué)運(yùn)算和字符串操作。此外,可以使用BEGIN和END來(lái)執(zhí)行處理前預(yù)操作和處理后后繼操作。

格式:

awk [ -F re] [parameter...] ['prog'] [-f progfile]

 

參數(shù)說(shuō)明:

-F re

允許awk更改其字段分隔符,默認(rèn)空格

A.-F參數(shù)后緊跟單個(gè)分隔符,則用雙引號(hào)“”,例如 –F”+”
B.-F參數(shù)后緊跟多個(gè)分隔符,則用單引號(hào)‘ ’并用[ ],中間順序無(wú)所謂,例如-F’[+$]’

parameter

該參數(shù)幫助為不同的變量賦值

'prog'

awk的程序語(yǔ)句段。這個(gè)語(yǔ)句段必須用單拓號(hào):'和'括起,以防被shell解釋

-f progfile

允許awk調(diào)用并執(zhí)行progfile指定有程序文件

progfile是一個(gè)文本文件,他必須符合awk的語(yǔ)法

in_file

awk的輸入文件,awk允許對(duì)多個(gè)輸入文件進(jìn)行處理。

值得注意的是awk不修改輸入文件。

如果未指定輸入文件,awk將接受標(biāo)準(zhǔn)輸入,并將結(jié)果顯示在標(biāo)準(zhǔn)輸出上。

awk支持輸入輸出重定向。

BEGIN{….}

{…..}

END{……}

位置:’{}’

作用:BEGIN和END的作用是給程序賦予初始狀態(tài)和在程序結(jié)束之后執(zhí)行一些掃尾的工作

  BEGIN{}:awk開(kāi)始掃描輸入之前執(zhí)行 (顯示變量和預(yù)置(初始化)變量)

  END{}:在掃描完全部的輸入之后執(zhí)行 (最終結(jié)果 )

  {}:操作

 

BEGIN部分:設(shè)置計(jì)數(shù)和?印頭

END部分:打印輸出文本總數(shù)及結(jié)尾狀態(tài)標(biāo)識(shí)


調(diào)用方法

調(diào)用方式:

1

命令行;普通UNIX命令 ,用于解決簡(jiǎn)單的問(wèn)題

 

2

利用命令解釋器調(diào)用awk程序;

寫(xiě)入腳本文件,并在首行加入#!/bin/awk –f ,執(zhí)行之

 

 

3

使用-f選項(xiàng)調(diào)用awk程序

所有awk插入一個(gè)單獨(dú)文件然后調(diào)用

awk –f awk-script-file input-files



提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題: