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
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...
Sharktech荷兰10G带宽的独立服务器月付319美元起,10Gbps共享带宽,不限制流量,自带5个IPv4,免费60Gbps的 DDoS防御,可加到100G防御。CPU内存HDD价格购买地址E3-1270v216G2T$319/月链接E3-1270v516G2T$329/月链接2*E5-2670v232G2T$389/月链接2*E5-2678v364G2T$409/月链接这里我们需要注意,默...
零途云是一家香港公司,主要产品香港cn2 gia线路、美国Cera线路云主机,美国CERA高防服务器,日本CN2直连服务器;同时提供香港多ip站群云服务器。即日起,购买香港/美国/日本云服务器享受9折优惠,新用户有优惠码:LINGTUYUN,使用即可打折。目前,零途云还推出性价比非常高香港多ip站群云服务器,有需要的,可以关注一下。零途云优惠码:优惠码:LINGTUYUN (新用户优惠,享受9折优...