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
Digital-VM商家的暑期活动促销,这个商家提供有多个数据中心独立服务器、VPS主机产品。最低配置月付80美元,支持带宽、流量和IP的自定义配置。Digital-VM,是2019年新成立的商家,主要从事日本东京、新加坡、美国洛杉矶、荷兰阿姆斯特丹、西班牙马德里、挪威奥斯陆、丹麦哥本哈根数据中心的KVM架构VPS产品销售,分为大硬盘型(1Gbps带宽端口、分配较大的硬盘)和大带宽型(10Gbps...
近日华纳云商家正式上线了美国服务器产品,这次美国机房上线的产品包括美国云服务器、美国独立服务器、美国高防御服务器以及美国高防云服务器等产品,新产品上线华纳云推出了史上优惠力度最高的特价优惠活动,美国云服务器低至3折,1核心1G内存5Mbps带宽低至24元/月,20G ddos高防御服务器低至688元/月,年付周期再送2个月、两年送4个月、三年送6个月,终身续费同价,有需要的朋友可以关注一下。华纳云...
野草云月末准备了一些促销,主推独立服务器,也有部分云服务器,价格比较有性价比,佣金是10%循环,如果有时间请帮我们推推,感谢!公司名:LucidaCloud Limited官方网站:https://www.yecaoyun.com/香港独立服务器:CPU型号内存硬盘带宽价格购买地址E3-1230v216G240GB SSD或1TB 企盘30M299元/月点击购买E5-265016G240GB SS...