网站大量收购闲置独家精品文档,联系QQ:2885784924

嵌入式操作系统第5章 shell编程1.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
语法格式:awk 选项 pattern {action} filename 模式(pattern)可以是以下任意一个: /正则表达式/:用“//”括起来的正则表达式。 关系表达式:使用运算符进行操作,可以是字符串或数字的比较测试。 匹配表达式:用运算符~(匹配)和!~(不匹配)。 BEGIN语句块、pattern语句块、END语句块 pattern 语法格式:awk 选项 pattern {action} filename 操作由一个或多个命令、函数、表达式组成,之间由换行符或分号隔开,并位于大括号内,主要操作有: 变量或数组赋值 输出命令(print) 内置函数 控制流语句 action 将当前进程的用户及进程ID输出(无pattern,只有action,因此每行都会执行action) awk print 功能将字段数据输出!字段的分隔则以空格键或[tab] 键隔开。 因为所有行都要处理,因此,就不需要有 “pattern”的限制 每一行的每个字段都是有变量名称的,那就是 $1, $2... 等变量名。$0表示整行 awk 1. 读入第一行,并将第一行的字段填入 $0, $1, $2.... 等变量当中; 2. 依据 “pattern” 的限制,判断是否需要进行后面的 “action; 3. 做完所有的action; 4. 若还有后续的“行”的数据,则重复上面 1~3 的步骤,直到所有的数据都读完为止。 awk 是“以行为一次处理的单位”, 而“以字段为最小的处理单位” awk的处理流程 将passwd文件中的用户名和用户ID输出,用tab键隔开。,-F 选项的作用是指定分隔符,如果不加-F指定,则以空格或者tab为分隔符 awk 在最前面和最后面行输出。BEGIN和END是两个特殊的pattern awk passwd中,有哪些信誉好的足球投注网站显示包含root关键字的行。如果没有action,默认输出每行的内容 awk passwd中,输出root的用户名和用户ID awk 列出主目录下所有目录的权限及目录名 awk 操作符 描述 操作符 描述 小于 = 大于等于 = 小于等于 ~ 匹配 == 等于 !~ 不匹配 != 不等于 awk条件操作符 输出passwd中root所在的行 ~匹配的意思是包含 ==的意思是精确相等 awk 输出passwd中用户ID小于10的行 awk 输出passwd中用户ID小于10的用户名及用户ID awk 输出passwd中用户ID小于等于10且shell为/bin/sync的行 :两个条件进行“与”操作 awk 输出passwd中用户ID小于3或shell为/bin/bash的行 ||:两个条件进行“或”操作 awk 输出passwd中用户ID小于3或shell为/bin/bash的家目录 awk awk有许多内置变量用来设置环境信息,这些变量可以被改变,下面给出了最常用的一些变量。 ARGC 命令行参数个数 ARGV 命令行参数排列 ENVIRON 支持队列中系统环境变量的使用 FILENAME awk浏览的文件名 FNR 浏览文件的记录数 awk内置变量 awk有许多内置变量用来设置环境信息,这些变量可以被改变,下面给出了最常用的一些变量。 FS 设置输入域分隔符,等价于命令行 -F选项 NF 浏览记录的域的个数 NR 已读的记录数 (每行是一个记录) OFS 输出域分隔符 ORS 输出记录分隔符 RS 控制记录分隔符 awk内置变量 输出记录的域的个数,NF awk passwd中,打印每一行的最后一个域(段) awk 输出已读的记录数(行数):NR awk passwd中,输出第20行的用户名 awk passwd中,输出前10行的用户名 awk 把/etc/passwd复制成家目录下的test.txt文件 用awk 打印整个test.txt 查找所有包含 ‘bash’ 的行 查找第三段等于0的行 查找第一段为 ‘root’ 的行,并把该段的 ‘root’ 换成 ‘toor’ (可以连同sed一起使用) 打印每行的最后一段 打印行数大于20的所有行 打印所有第三段小于第四段的行 打印第一段以及最后一段,并且中间用 ‘@’ 连接 (例如,第一行应该是这样的形式 root@/bin/bash‘ ) awk练习 * * * * * * 找出包含大写字母的行 grep 找出不包含大写字母的行 grep 找出包含特殊字符所在的行(既不是大小写字母也不是数字) grep 过滤任意一个字符与重复字符 .代表任意一个字符 grep 过滤任意一个字符与重复字符 *表示零个或多个前面的单个字符 grep 指定要过滤字符出现的次数 s{n },n为数

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档