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
Hostodo 商家是比较小众的国外VPS主机商,这不看到商家有推送促销优惠在美国西岸的斯波坎机房还有少部分库存准备通过低价格促销,年付低至12美元Linux VPS主机,且如果是1GB内存方案的可以享受六六折优惠,均是采用KVM架构,且可以支付宝付款。第一、商家优惠码优惠码:spokanessd 1GB+内存方案才可以用到优惠码,其他都是固定的优惠低至年12美元。第二、商家促销这里,我们可以看到...
raksmart作为一家老牌美国机房总是被很多人问到raksmart香港服务器怎么样、raksmart好不好?其实,这也好理解。香港服务器离大陆最近、理论上是不需要备案的服务器里面速度最快的,被过多关注也就在情理之中了。本着为大家趟雷就是本站的光荣这一理念,拿了一台raksmart的香港独立服务器,简单做个测评,分享下实测的数据,仅供参考!官方网站:https://www.raksmart.com...
Friendhosting发布了针对“系统管理日”(每年7月的最后一个星期五)的优惠活动,针对VPS主机提供55%的优惠(相当于四五折),支持1-6个月付款使用,首付折扣非永久,优惠后最低套餐首半年7.18欧元起。这是一家保加利亚主机商,成立于2009年4月,商家提供VDS和独立服务器租用等,数据中心目前可选美国洛杉矶、保加利亚、乌克兰、荷兰、拉脱维亚、捷克和波兰等8个地区机房。下面以最低套餐为例...