资源描述:
《awk内置函数收集》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、awk内置函数收集Awkprovidesmanypowerfulstringfunctions,seethefollowingtable:Awkbuilt-instringfunctionTolowerToupperGsub(R,s)replacesRwithsinthewhole$0Gsub(R,s,t)replacesRwithsinthewholetIndex(s,t)returnsthefirstpositionofthestringtinSLength(s)returnsslengthMatch(s,R)testswh
2、etherscontainsstringsmatchingRSplit(s,a,FS)dividessintosequenceaonFSPrintf(FMT,exp)returnstheexpformattedbyFMTSub(R,s)replacesswiththeleftmostlongestsubstringin$0Substr(s,P)returnsthesuffixpartstartingfromPinthestringsSubstr(s,P,n)returnsthesuffixpartofthestringsstar
3、tingatPwiththelengthofnDetaileddescriptionoftheuseofeachfunction.Thegsubfunctionissomewhatsimilartosedlookupsandsubstitutions・Itallowsyoutoreplaceastringorcharacterforanotherstringorcharacter,andexecuteitinregularexpressions・Thefirstfunctionactsontherecordof$0,andthe
4、secondgsubfunctionallowsthespecifiedtarget;however,ifthetargetisnotspecified,thedefaultis$0.Theindex(s,t)functionreturnsthedestinationpositionofthestringtinthedestinationstrings.ThelengthfunctionreturnsthestringscharacterLength・Thematchfunctiontestswhetherthestringsc
5、ontainsamatchdefinedbytheregularexpressionr.SplitusesdomaindelimiterfstoThestringsisdividedintothespecifiedsequencea.Thesprintfunctionissimilartotheprintffunction(lateron)andreturnsthebasicoutputformatFMTResultstringexp・Thesub(R,s)functionreplacestheleftmostlongestsu
6、bstringin$0bys,andthesubstringismatchedby(R).Sub(s,P)returnsthesuffixofstringsafterpositionP.Substr(s,P,n)ditto,andspecifysubstringlengthn.Nowlookatthefunctionsofthesestringfunctionsinawk.1.gsubToreplaceonestringforanotherintheentirerecord,useregularexpressionformat,
7、/targetmode/replacemode/・Forexample,changestudentnumbersfrom4842to4899:$awk'gsub(/4842/,4899){print$0}'grade,txtJ.Troll07/994899Brown-31226262.indexQuerythefirstpositionoftheTinthestrings.Youmustenclosethestringindoublequotationmarks・Forexample,returnthedestinationst
8、ringThefirstplacewhereNYappearsinBunny,thatis,thenumberofcharacters・$awk"BEGIN(printindex"(〃Bunny〃,〃NY〃)}grade.txtFour3.lengthRetur