结合示例说明shell是如何被解析的
2022-01-09 04:07
1271 查看
经常写shell,那么shell如何被解析的呢?
一、sed的经典示例
$符号在shell中解析为变量,但是在sed中代表文件的最后一行。
如何显示/etc/passwd 的倒数第三行
redirect]# sed -n '$-2p' /etc/passwd
这个明显是不行的,sed内部有一个行号计数器,一行一行读取直到最后一行 ,$才是最后一行的行号。
如何解决?
先用wc -l计数,然后变量传进去再打印倒数第三行。
redirect]# line=25 redirect]# sed -n "${line}p" /etc/passwd
注意不能用单引号,单引号属于强引用,无法将变量解析。
如何要同时显示最后一行和倒数第三行?
redirect]# sed -n "${line}p;$p" /etc/passwd tcpdump:x:72:72::/:/sbin/nologin
这样为何只显示了倒数第三行内容呢?
第二个$ 属于sed的最后一行,不应该暴露给shell解析。
redirect]# sed -n "${line}p;"'$p' /etc/passwd tcpdump:x:72:72::/:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
这样也是可以的
redirect]# sed -n "${line}p;\$p" /etc/passwd tcpdump:x:72:72::/:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
redirect]# sed -n "${line}""p;\$p" /etc/passwd tcpdump:x:72:72::/:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib redirect]# sed -n ${line}"p;\$p" /etc/passwd tcpdump:x:72:72::/:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
二、awk的经典示例
使用awk输出hello world,在hello后增加单引号
redirect]# awk 'BEGIN{print "hello world"}' hello world
redirect]# awk 'BEGIN{print "hello'"'"' world"}' hello' world 这样拆解开来看 'BEGIN{print "hello' "'" ' world"}' redirect]# awk "BEGIN{print \"hello' world\"}" hello' world 047是单引号的ASSIC值 redirect]# awk 'BEGIN{print "hello\047 world"}' hello' world # print 中双引号的值都保留给awk awk -v q="'" 'BEGIN{print "hello"q" world"}' hello' world
到此这篇关于结合示例说明shell是如何被解析的的文章就介绍到这了,更多相关shell 解析内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:相关文章推荐
- 解析php中如何直接执行SHELL
- Shell 编程--本文结合大量实例阐述如何编写一个shell脚本
- 解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
- 查看: 35330 | 回复: 9 打印 上一主题 下一主题 [学习共享] 转:Shell 编程--本文结合大量实例阐述如何编写一个shell脚本
- Java框架SSH结合Easyui控件实现省市县三级联动示例解析
- Shell 编程--结合大量实例阐述如何编写一个shell脚本
- Shell 编程--本文结合大量实例阐述如何编写一个shell脚本
- springmvc 项目完整示例06 日志–log4j 参数详细解析 log4j如何配置
- 下面的代码示例说明如何请求访问令牌从令牌的服务
- SAX解析XML-说明及示例代码
- Go 自带的 http/server.go 的连接解析 与 如何结合 master-worker 并发模式,提高单机并发能力
- 本文结合大量实例阐述如何编写一个shell脚本
- 解析如何在C语言中调用shell命令的实现方法
- 如何解析CSV文件的示例代码
- Sikuli教程:如何将Sikuli与Selenium结合使用(示例)
- 解析如何在C语言中调用shell命令的实现方法【转】
- Shell脚本编程及示例和例题解析
- 如何统一解析JSON数据,使用Gson结合泛型类灵活,让您一劳永逸
- Sql示例说明如何分组后求中间值
- 转:Shell 编程--本文结合大量实例阐述如何编写一个shell脚本。