l inux命令awk整理Linux command awk collationFormat:
Standard format: awk {' [BEGIN} , pre initialized or sentencepattern matching operation statement [END] {} {} ]' <filename >end statement
Awk script:
Close to awk as a programming language, can write scripts toperform, only need to place a statement to explain the script(after the first line of the script #!) with the location ofthe awk, the awk can be as a script executable programexecution.
Vari abl e:
$0: current entire line content.
The line delimiter entered by ORS: (default is newline)Line delimiter for RS: output (default is newline)
The number of rows that NR: has processed (+1 per row)NF: the number of fields in the current row (how many is thelast $?)?
FS: field delimiter
Number of ARGC: command l ine arguments
ARGV: command line parameter array (subscript starts at 0)Relation operation:
Less than <:
<=: is less than or equal to
==: equals
=: is not equal to!
More than >:
~: regular expression matching
~: does not match the regular expression!
A, b:c: , three element expression, conforms to the a condition,performs B, otherwise executes C. Equivalent to "if (a) {b";"}else{c"; }"
Arithmetic operation:
Floating point arithmetic.
Logical operation:
"&&", "| |" and "!" (respectively, with or without) .
Matching range:
"/a/, /b/" (from the matching/a/ to/b/, and SED) , different,awk is not only the first match, when matched to the B afterthe stop, then, a will start again, until then, to B and thenstop, wait, a. . . . . .
"NR==2, NR==5", from the second line to the fifth line.Assignment operation:
A =: is a two assignment, is a comparison of the sameRegular expression:
Do not support the "\<", "\>", "(\ \)", "\{\}"
Program control instruction:
Next: reads the next line of text and starts the script againfrom scratch.
Exit: jumps out of all operations and executes the END segmentdirectly.
Internal function:
Getline successfully read a line after the return of 1, readto the end of the file after the return of 0, but if the filedoes not exist, it will return-1, if the getline in the "while()", may be because the return -1 into the dead cycle.
Internal function (string) :
Split: divides strings into fields by field separators,respectively, into arrays.
Command format: split (string, array, f ield delimiter)Or use the default field delimiter (the FS parameter in awk) :Split (string, array)
The array generated by the function; the first element has anindex of 1.
Delete: removes array elements
Command format: delete< array name >[] .
Sub: is much like "s/a/b/" in sed, which turns the childsubstring into a subsequence.
Command format: sub (regular expression, alternate string)Sub (regular expression, substitution string, target location)The regular expression "/ /" (including slash) .
Replace strings with "" "(double quotes) , including. (allstrings should be enclosed indouble quotes, not single quotes)
The target position is generally similar to the field positionof "$1".
Sub replaces only the first match, similar to "s/a/b/""Gsub: is similar to "s/a/b/g", global replacement.
Command format: gsub (regular expression, alternate string)Gsub (regular expression, substitution string, targetlocation)
Index: returns the location of the substring that firstappeared in the string
Command format: index (string, substring) (string, substring,printed directly, enclosed in double quotes)
Length: returns string length
Command format: length (string) (string is printed directly,enclosed in double quotes)
Match: returns the position in the string that matches theregular expression for the first time
Command format: match (string, regular expression) (string isprinted directly, enclosed in double quotes)
Use
Awk will assign the current row to the variable "$0" first"Awk differs from sed, although each time a row is read into thecache, it is cut by the delimiter defined by the"FS"parameter.When outputting, it will also use the "OFS"parameter to changethe separator when outputting.
The "OFMT" parameter is used to set the format of the outputdigits.
Use the "-F" parameter to change the delimiter, if you usemultiple symbols to do separate, need to use "[]" inparentheses.
Example: "awk -F '\t]' " (when awk encounters spaces and tabsare translated into a delimiter)
The awk command is divided into two parts, the mode and theoperation, and the model is equivalent to the built-in if. . . . . .Then".
Similar to the SED address, is the implementation of theprovisions of the operation behind what time, and the operationmust be included in the "{}" (braces) and follow mode. Patternsnever appear in curly braces.
The matching character"~"wave number is used to define matchesin the pattern.
Example: "awk'$1 ~ /Bill/' " (matches Bill in the first field)
"Awk'$1. . . ~ /Bill/' " (Bill is not found in the first field)When performing string operations, strings must be enclosed in"" "" (double quotes) , and single quotation marks do not!Example: "awk'$1 =" CT "' " (the first field for CT)
Awk' {pr int ($1 > 5? "High": "low"} ' )
Awk variables are initialized without defining type, and awkautomatically changes the type of the variable depending on thecontext.
Awk variables can be named with letters and numbers, but theycannot begin with numbers.
The awk command can contain more than one set of patterns andoperations. With {in} respectively.
Awk can be added in the "BEGIN" command, the command in thecommand in the execution of read text (no text will read beforeexecution) , generally used for variable initialization orprint the first page.
In awk, you can add the "END" command section that executesafter processing all the text.
In awk, if you want to redirect the results of the commandexecution, you need to add "" "" "" "" (double quotes) to theredirection file name
Example: "awk print $1" test ">' {} ' " (the first field outputto test file)
In awk, through the "getline" command (enclosed in doublequotes) , enter information (rather than files) from the pipe,the standard input.
Example: "awk"LS"' { | getline a; print a} ' " (each matching modeoutput line)
Printf format "printf"%-12s "a" (the percent is used to specifythe output format settings, minus is left aligned, 12 is thelength of S is a string, a is printed variable)
Be careful
Open the pipeline in awk, must use the pipe symbol "|" afterthe same name to close thepipeline. Otherwise thepipelinewillremain open, behind the input will also be sent to an rvaluepipeline.
"Awk" LS "' { | getline a; print a} ' ' {close (getline a) } ' "The variable loop in the "for" loop in awk can only use onev ar i ab l e
"For (i=0; i<10; i++)" (cannot declare two variables in the samefor)
Arrays in awk use hash storage, so direct output arrays are not
necessarily indexed.
Arrays in awk can be indexed in strings, and strings need tobe enclosed in "" "double" quotes.
Printed arrays indexed by strings can be printed with for XXin < < > > to print all elements of an array.
Make sure that the entire awk command is enclosed in singlequotes.
Make sure all quotation marks appear in pairs in the command.Make sure you enclose the action statement with curly bracesand enclose conditional statements with parentheses.
Awk supports multidimensional arrays
See the 223 page
华纳云(HNCloud Limited)是一家专业的全球数据中心基础服务提供商,总部在香港,隶属于香港联合通讯国际有限公司,拥有香港政府颁发的商业登记证明,保证用户的安全性和合规性。 华纳云是APNIC 和 ARIN 会员单位。主要提供数据中心基础服务、互联网业务解决方案, 以及香港服务器租用、香港服务器托管、香港云服务器、美国云服务器,云计算、云安全技术研发等产品和服务。其中云服务器基于成熟的 ...
简介华圣云 HuaSaint是阿里云国际版一级分销商(诚招募二级代理),专业为全球企业客户与个人开发者提供阿里云国际版开户注册、认证、充值等服务,通过HuaSaint开通阿里云国际版只需要一个邮箱,不需要PayPal信用卡,不需要买海外电话卡,绝对的零门槛,零风险官方网站:www.huasaint.com企业名:huaSaint Tech Limited阿里云国际版都有什么优势?阿里云国际版的产品...
CUBECLOUD(魔方云)成立于2016年,亚太互联网络信息中心(APNIC)会员,全线产品均为完全自营,专业数据灾备冗余,全部产品均为SSD阵列,精品网络CN2(GIA) CU(10099VIP)接入,与当今主流云计算解决方案保持同步,为企业以及开发者用户实现灵活弹性自动化的基础设施。【夏日特促】全场产品88折优惠码:Summer_2021时间:2021年8月1日 — 2021年8月8日香港C...