当前位置: 首页 > news >正文

免费网站空间虚拟主机大学网站开发

免费网站空间虚拟主机,大学网站开发,江岸区建设局网站,浙江手机版建站系统哪个好Linux之shell脚本(2)一、printf命令#xff1a;printf是一个把从标准输入的字符按照你所要求的格式输出到标准输出即屏幕的命令.在很多时候#xff0c;我们可能需要将自己的数据给他格式化输出的。1.格式化输出。(print format)2.命令格式#xff1a;printf打印格式实际内容…Linux之shell脚本(2)一、printf命令printf是一个把从标准输入的字符按照你所要求的格式输出到标准输出即屏幕的命令.在很多时候我们可能需要将自己的数据给他格式化输出的。1.格式化输出。(print  format)2.命令格式printf打印格式实际内容3.打印格式1)\a(警告声音输出)2)\b(退格键)3)\f(清除屏幕类似换纸)4)\n(输出新的一行)5)\r(帧处于行的开始即enter键)6)\t(水平的table键)7)\v(垂直的table键)8)\xNN(x为ASCII码十六进制表示NN为俩位数数字可转换数字成为字符)9)%ns(n为数字s代表string即多少个字符)10)%ni(n为数字i代表integer即多少整数字符)11)%N.nf(n、N为数字f代表floating浮点小数字数即小数点)案例1)以整数形式输出23并换行以字符串形式输出hello并换行2)以2位整数形式输出23并换行以7位字符串形式输出hello并换行案例文本考试分数的输出假设有一个文件test.txt记录着考试分数内容如下图所示3)如下图所示printf命令的输出结果并没有对齐%s代表一个不固定长度的字符串而字符串与字符串中间就以\t这个[tab]分隔符来处理。既然每个字段的长度不固定会造成上述的困扰那我将每个字段固定就好啦。将test.txt文件中的内容分别以字符串、整数、小数点来显示上面的格式共分为五个字段%10s代表的是一个长度为10个字符的字符串字段%5i代表的是长度为5个字符的数字字段至于那个%8.2f则代表长度为8个字符的具有小数点的字段其中小数点有两个字符宽度全部的宽度仅有8个字符整数部分占有5个字符小数点本身(.)占一位小数点后的位数则有两位。二、awk命令awk也是一个数据处理工具相较于sed常常作用于一整个行的处理awk则比较倾向于一行当中分成数个字段来处理。.awk语言的最基本功能是在文件或字符串中基于指定规则来分解抽取信息也可以基于指定的规则来输出数据。有三种方式调用awk1)命令行方式awk   [-F  field-separator]  commandsinput-files其中[-F域分隔符]是可选的因为awk使用空格或tab键作为缺省的域分隔符因此如果要浏览域间有空格的文本不必指定这个选项如果要浏览诸如passwd文件此文件各域以冒号作为分隔符则必须指明-F选项如awk -F: commands input-file。注:在linux系统中用环境变量IFS存储分隔符,但根据实际应用也可以改变IFS的值.例如查看默认分隔符。注意oldIFS$IFS(把环境变量IFS存到oldIFS)IFS,(定义分隔符为,)2)shel脚本方式将所有的awk命令插入一个文件并使awk程序可执行然后awk命令解释器作为脚本的首行以便通过键入脚本名称来调用。相当于shell脚本首行的#!/bin/sh可以换成#!/bin/awk3)将所有的awk命令插入一个单独文件然后调用Awk-fawk-script-fileinput-files其中-f选项加载awk-script-file中的awk脚本input-files跟上面的是一样的。awk的模式和动作任何awk语句都由模式和动作组成(awk_pattern { actions })。在一个awk脚本中可能有许多语句。模式部分决定动作语句何时触发及触发事件。处理即对数据进行的操作。如果省略模式部分动作将时刻保持执行状态。即省略时不对输入记录进行匹配比较就执行相应的actions。模式可以是任何条件语句或正则表达式等。awk_pattern可以是以下几种类型:①正则表达式(/regexp/)②布尔表达式用作awk_pattern表达式成立时触发相应的actions执行。(1)表达式中可以使用变量(如字段变量$1,$2等)和/regexp/(2)布尔表达式中的操作符:关系操作符: !匹配操作符: value ~ /regexp/ 如果value匹配/regexp/则返回真value !~ /regexp/ 如果value不匹配/regexp/则返回真(3)(与)和||(或)可以连接两个/regexp/或者布尔表达式构成混合表达式。!(非)可以用于布尔表达式或者/regexp/之前。例如提取test.txt中chinese大于75为优秀。例如提取passwd中匹配d开头的显示ok。例如模式包括两个特殊字段BEGIN和END。使用BEGIN语句设置计数和打印头。BEGIN语句使用在任何文本浏览动作之前之后文本浏览动作依据输入文本开始执行。END语句用来在awk完成文本浏览动作后打印输出文本总数和结尾状态标志。动作实际动作在大括号{}内指明。动作大多数用来打印但是还有些更长的代码诸如i f和循环语句及循环退出结构。如果不指明采取动作awk将打印出所有浏览出来的记录。awk执行时其浏览域标记为$1$2...$n。这种方法称为域标识。使用这些域标识将更容易对域进行进一步处理。使用$1 , $3表示参照第1和第3域注意这里用逗号做域分隔。如果希望打印一个有5个域的记录的所有域不必指明$1 , $2 , $3 , $4 , $5可使用$0意即所有域。为打印一个域或所有域使用print命令。这是一个awk动作awk的运行过程:①如果BEGIN 区块存在awk执行它指定的actions。②awk从输入文件中读取一行称为一条输入记录。(如果输入文件省略将从标准输入读取)③awk将读入的记录分割成字段将第1个字段放入变量$1中第2个字段放入$2以此类推。$0表示整条记录。④把当前输入记录依次与每一个awk_cmd中awk_pattern比较看是否匹配如果相匹配就执行对应的actions。如果不匹配就跳过对应的actions直到比较完所有的awk_cmd。⑤当一条输入记录比较了所有的awk_cmd后awk读取输入的下一行继续重复步骤③和④这个过程一直持续直到awk读取到文件尾。⑥当awk读完所有的输入行后如果存在END就执行相应的actions。awk入门实例例1显示/etc/passwd文件中用户名和登录shell例2显示/etc/passwd文件中用户名和登录shell中间以tab分隔例3显示/etc/passwd文件中用户名和登录shell中间以逗号分隔例4显示/etc/passwd文件中UID大于500的所有用户的用户名和登录shell例5显示/etc/passwd文件中的UID大于500的用户名和登录shell,而账户与shell之间以逗号分割,而且在所有行添加列名name,shell,在最后一行添加blue,/bin/nosh。注意1.awk后面接两个单引号并加上大括号{}来设定想要对数据进行的处理动作2.awk工作流程是这样的先执行BEGING然后读取文件读入有\n换行符分割的一条记录然后将记录按指定的域分隔符划分域填充域$0则表示所有域,$1表示第一个域,$n表示第n个域,随后开始执行模式所对应的动作。接着开始读入第二条记录······直到所有的记录都读完最后执行END操作。六、函数及脚本的综合应用1、shell函数shell允许将一组命令集或语句形成一个可用块这些块称为shell函数。函数由两部分组成函数标题、函数体。标题是函数名。函数体是函数内的命令集合。标题名应该唯一如果不是将会混淆结果因为脚本在查看调用脚本前将首先搜索函数调用相应的shell。2、定义函数的格式为函数名(){命令1...}如果愿意可在函数名前加上关键字function这取决于使用者。function函数名(){命令1...}例如脚本案例案例一、删除文件中的空行:这个脚本(脚本名为del.lines)可以处理一个或多个文件。每个文件在用sed删除空行之前要先核实是否存在。sed的输出被导入一个文件名中含有$ $的临时文件最后这个临时文件又被移回到原来的文件中。该脚本使用shift命令取得所有的文件名用while循环逐个处理所有的文件直至处理完为止。可以使用del.lines --help获得一个简短的帮助chmod  x  del.lines增加执行权限测试如下注1、basename命令能够从路径中分离出文件名。通常用于shell脚本中2、shift语句用于迁移位置变量将 $1~$9 依次向左传递例如若当前脚本程序获得的位置变量如下$1file1、$2file2、$3file3、$4file4则执行一次shift命令后各位置变量为$1file2、$2file3、$3file4再次执行shift命令后各位置变量为$1file3、$2file4案例二、日志文件超过长度备份清除内容脚本内容注du 并不是显示文件的实际大小,而是显示文件所占用的block大小默认linux系统分区的block size是4k,也就是说即使文件只有1个字节也会占用4k.ls -l则是文件的实际大小。
http://wiki.neutronadmin.com/news/152016/

相关文章:

  • 网站用户界面ui设计细节网站建设贰金手指下拉壹玖
  • 常用网站推广方法的适用性旅游网站建设经济评价
  • 深圳招聘网站唯美网站建设
  • 怎么建设自己的网站博客做资讯类网站
  • 深圳集团网站建设手机如何强制下载网页视频
  • 丹徒网站建设咨询asp+php+mysql+aspx环境搭建与6种网站安装2
  • access建网站专业的聊城网站建设
  • 帝国网站开发做网站 php j2ee
  • 网站建设记入什么科目网站备案下来以后怎么做网页
  • 各地信息推广平台电脑系统优化软件十大排名
  • 吉林省住房建设保障厅网站公司的网站建设与维护论文
  • 网站的建设会计入哪个科目网站套餐可以分摊吗吗
  • 哪些网站做的比较好的学网站建设工作
  • 黑河网站制作动效做的好的网站
  • 大连网站制作公司曲靖珠江网最新消息
  • 鄱阳做网站上饶便宜的做网站公司
  • 什么叫网站开发应用框架全国工商企业查询网
  • 传媒类网站模板鸣蝉小程序制作平台
  • 专业网站建设维护是什么wordpress取消邮箱
  • 手机怎样建立网站七牛图片样式wordpress
  • 保定哪个公司做网站好怎样进入小程序入口啊
  • 两学一做网站答题网址在网站建设中什么用于搭建页面结构
  • 建设一个很大的视频网站需要多少钱哪里学网站开发好
  • h5手机网站建设哪家好wordpress 调用discuz
  • asp.net建立网站吗网站维护中
  • 专业做曝光引流网站去国外做非法网站吗
  • 什么是网站建设技术网站怎样做301跳转
  • 网站上职业学校排名 该怎么做龙口网站建设公司哪家好
  • 国外个人网站域名注册网站建设的工具
  • 京东客网站怎么做的山东省住房和城乡建设厅网站6