⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000019.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 5 页
字号:
。就是:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;total&nbsp;2164&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;drwxr-xr-x&nbsp;3&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;-rw-r--r--&nbsp;1&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;-rw-r--r--&nbsp;1&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;-rw-r--r-1&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;…………………&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;如果你要精确地控制输出,也可以使用printf命令,这个命令的格式是:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf&nbsp;format,&nbsp;item1,&nbsp;item2,&nbsp;...&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;format参数就是C语言里面的格式控制符,例如%c,%d,%f等等。在&nbsp;%&nbsp;与格式控制&nbsp;<BR>字母之间可加入&nbsp;modifier,modifier&nbsp;是用来进一步控制输出的格式。可能的&nbsp;modifie&nbsp;<BR>r&nbsp;如下所示:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;'-'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;使用在&nbsp;width&nbsp;之前,指明是向左靠齐。如果'-'没有出现,则会在被指定的&nbsp;<BR>宽度向右靠齐。例如:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf&nbsp;&quot;%-4S&quot;,&nbsp;&quot;foo&quot;会印出'foo&nbsp;'。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;'width'&nbsp;这一个数字指示相对应的栏位印出时的宽度。例如:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;printf&nbsp;&quot;%4s&quot;,&quot;foo&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;会印出'&nbsp;foo'。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width&nbsp;的值是一个最小宽度而非最大宽度。如果一个&nbsp;item&nbsp;的值需要的宽度&nbsp;<BR>比&nbsp;width&nbsp;大,则不受&nbsp;width&nbsp;的影响。例如printf&nbsp;&quot;%4s&quot;,&quot;foobar&quot;将印出'foobar'。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;'.prec'&nbsp;此数字指定印出时的精确度。它指定小数点右边的位数。如果是要印出一个&nbsp;<BR>字串,它指定此字串最多会被印出多少个字符。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;作为一种脚本语言,gawk允许使用变量,定义变量非常简单,就是直接用等号对它赋&nbsp;<BR>值。为了在gawk程序的开始处对变量赋值,gawk专门提供了BEGIN语句,这个语句将在所&nbsp;<BR>有行被读入之前执行,而且只执行一次,通常用它来执行初始化命令,例如&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;BEGIN&nbsp;{&nbsp;sum=0;count=0;average=0.0;}&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;对于变量可以使用数学表达式进行运算,运算符包括常见的加减乘除算符,以及^(乘&nbsp;<BR>方),%(取余)和著名的++,--。不过注意gawk在做除法的时候总是使用浮点除法,除了&nbsp;<BR>取余算符%。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;函数&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;另外,gawk包含下列函数:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;数学函数&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;atan2(x,y)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y/x的正切&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;cos(x)&nbsp;&nbsp;&nbsp;&nbsp;余弦函数&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;sin(x)&nbsp;&nbsp;&nbsp;&nbsp;正弦函数&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;int(x)&nbsp;&nbsp;&nbsp;&nbsp;取整&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;log(x)&nbsp;&nbsp;&nbsp;&nbsp;取自然对数&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;exp(x)&nbsp;&nbsp;&nbsp;&nbsp;指数函数&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;rand(x)&nbsp;&nbsp;&nbsp;&nbsp;生成一个0到1之间的随机数&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;srand()&nbsp;&nbsp;&nbsp;&nbsp;初始化随机数发生器&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;systime()&nbsp;&nbsp;&nbsp;&nbsp;返回从1970年1月1日0:00到当前时间的秒数&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;sqrt(x)&nbsp;&nbsp;&nbsp;&nbsp;取x的平方根&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;字符串函数&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;index(string1,string2&nbsp;)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;它会在string1&nbsp;里面,寻找string2&nbsp;第一次出现的地方,返回值是字串string2出&nbsp;<BR>现在字串string1&nbsp;里面的位置。如果找不到,返回值为&nbsp;0。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;例如:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;index(&quot;peanut&quot;,&quot;an&quot;)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;会印出&nbsp;3。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;length(string)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;string字符串的长度&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;例如:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;length(&quot;abcde&quot;)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;是&nbsp;5。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;match(string,regexp)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;match&nbsp;函数会在字串&nbsp;string&nbsp;里面,寻找符合&nbsp;regexp&nbsp;的最长、最靠左边的子字&nbsp;<BR>串。返回值是&nbsp;regexp&nbsp;在&nbsp;string&nbsp;的开始位置,即&nbsp;index值。这个函数会设定内部变量&nbsp;<BR>&nbsp;RSTART&nbsp;等於&nbsp;index,内部变量RLENGTH&nbsp;等於符合的子串个数。如果不符合,则会设定&nbsp;<BR>&nbsp;RSTART&nbsp;为0、RLENGTH&nbsp;为&nbsp;-1。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;sprintf(format,expression1,...)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;跟C语言的sprintf差不多。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;例如:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(&quot;pi&nbsp;=&nbsp;%.2f&nbsp;(approx.)',22/7)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;传回的字串为&quot;pi&nbsp;=&nbsp;3.14&nbsp;(approx.)&quot;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;sub(regexp,&nbsp;replacement,target)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在字串&nbsp;target&nbsp;里面,寻找符合&nbsp;regexp&nbsp;的最长、最靠左边的地方,并且以字串&nbsp;<BR>&nbsp;replacement&nbsp;代替最左边的&nbsp;regexp。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;例如:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;&quot;water,&nbsp;water,&nbsp;everywhere&quot;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sub(/at/,&nbsp;&quot;ith&quot;,str)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;结果字串str会变成&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;wither,&nbsp;water,&nbsp;everywhere&quot;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;gsub(regexp,&nbsp;replacement,&nbsp;target)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gsub&nbsp;与前面的&nbsp;sub&nbsp;类似。在字串&nbsp;target&nbsp;里面,寻找符合&nbsp;regexp&nbsp;的所有地方&nbsp;<BR>,以字串&nbsp;replacement&nbsp;代替所有的&nbsp;regexp。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;例如:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str=&quot;water,&nbsp;water,&nbsp;everywhere&quot;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gsub(/at/,&nbsp;&quot;ith&quot;,str)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;结果字串str会变成&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'wither,&nbsp;wither,&nbsp;everywhere&quot;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;substr(string,&nbsp;start,&nbsp;length)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;传回字串&nbsp;string&nbsp;的子字串,这个子字串的长度为&nbsp;length&nbsp;个字符,从第&nbsp;start&nbsp;<BR>&nbsp;个位置开始。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;例如:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;substr(&quot;washington&quot;,5,3)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;传回值为&quot;ing&quot;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果&nbsp;length&nbsp;没有出现,则传回的子字串是从第&nbsp;start&nbsp;个位置开始至结束。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;例如:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;substr(&quot;washington&quot;,5)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;传回值为&quot;ington&quot;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;tolower(string)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;将字串string的大写字母改为小写字母。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;例如:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tolower(&quot;MiXeD&nbsp;cAsE&nbsp;123&quot;)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;传回值为&quot;mixed&nbsp;case&nbsp;123&quot;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;toupper(string)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;将字串string的小写字母改为大写字母。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;例如:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;toupper(&quot;MiXeD&nbsp;cAsE&nbsp;123&quot;)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;传回值为&quot;MIXED&nbsp;CASE&nbsp;123&quot;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;其他函数&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;system(command)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此函式允许使用者执行作业系统的指令,执行完毕後将回到&nbsp;gawk&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;程式。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;例如:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BEGIN&nbsp;{system(&quot;ls&quot;)}&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;控制流&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;在gawk命令脚本中可以使用控制流,主要是if,for,while等语句,用法和C语言相当&nbsp;<BR>类似:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(condition)&nbsp;then-body&nbsp;[else&nbsp;else-body]&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;如果&nbsp;condition&nbsp;为真(true),则执行&nbsp;then-body,否则执行&nbsp;else-body。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;举一个例子如下:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(x&nbsp;%&nbsp;2&nbsp;==&nbsp;0)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;&quot;x&nbsp;is&nbsp;even&quot;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;&quot;x&nbsp;is&nbsp;odd&quot;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(condition)&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;body&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;while&nbsp;语句测试&nbsp;condition表达式。假如&nbsp;condition&nbsp;为真则执行&nbsp;body&nbsp;的语句。一次&nbsp;<BR>执行完後,会再测试&nbsp;condition,假如condition&nbsp;为真,则&nbsp;body&nbsp;会再度被执行。这个&nbsp;<BR>过程会一直被重复直到condition&nbsp;不再是真。如果&nbsp;condition&nbsp;第一次测试就是伪(fals&nbsp;<BR>e),则body&nbsp;从没有被执行。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;下面的例子会印出每个输入行的前三个栏位。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gawk&nbsp;'{&nbsp;i=1&nbsp;<BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -