
Linux shell编程艺术
文章平均质量分 74
wer0735
这个作者很懒,什么都没留下…
展开
-
第15章 Grep和高级正则表达式
通过使用grep命令,我们可以在文本文件中找到感兴趣的文字,甚至从其他程序的输出中进行搜索。本章的主要知识点(1)使用grep命令搜索文件中的字符串;(2)使用grep命令搜索其他命令的输出;(3)正则表达式的各种高级用法。1. grep的基本用法grep命令的作用是在文本文件中搜索指定的字符串,并且把匹配成功的行数据打印到终端。执行grep命令的语法格式如下:原创 2017-02-16 23:28:50 · 707 阅读 · 0 评论 -
第16章 Debug Shell脚本
本章主要介绍一些方便的、有效的、更好的输出调试信息的方法。本章要学习的知识点(1)看懂脚本输出的错误信息,并逐步定位到真正的错误;(2)如何坚持shell脚本的语法是否有错误;(3)如何通过track模式找到程序的错误;(4)分析脚本错误的一般步骤;(5)如何在脚本程序中添加DEBUG支持。1. 分析报错信息当我们运行自己编写的shell脚本时,经常会遇到脚原创 2017-02-16 23:29:28 · 585 阅读 · 0 评论 -
专题sed & awk & grep
grep, sed 与 awk 相当有用 !gerp 查找, sed 编辑, awk 根据内容分析并处理. 1. awk(关键字:分析&处理) 一行一行的分析处理 awk '条件类型1{动作1}条件类型2{动作2}' filename, awk 也可以读取来自前一个指令的 standard input相对于sed常常用于一整行处理, awk则比较倾向于一行当中分成数个"原创 2017-02-16 23:30:05 · 199 阅读 · 0 评论 -
第1章Shell介绍和脚本基础
1. 命令同义词语法: #设置命令command的别名 alias name=’command –option argument’例如,当复制或移动文件时,会覆盖原有的数据,能提醒我们是否继续?$alias cp=’cp -i’$alias mv=’mv –i’2. 获取帮助在命令行执行如下命令:#使用内建命令help获取bash的帮助原创 2017-02-16 22:51:19 · 247 阅读 · 0 评论 -
第3章 输入/输出重定向和管道
1. 标准输出在Linux系统中运行的每一个进程都会默认关联到三个打开的文件上。这三个文件就是标准输入、标准输出、以及标准错误输出。1.1 重定向输出将命令的输出记录到磁盘上的文件中。在bash中,重定向标准输出的语法 command > outputfile 例如把ls命令的输出保存到文件lsoutput.txt中。脚本内容:#!原创 2017-02-16 22:52:00 · 457 阅读 · 0 评论 -
第5章 文本处理和字符串操作
1. 常用的文本操作1.1. 取出最近访问的5个普通文件,并要求输出文件名和最后的访问时间执行命令:$ls –lut|grep “^-”|head -5|cut –c41- 解析:-t表示ls命令在输出时会按修改时间来排序;-u表示ls –l命令显示出文件的最后访问时间;”^-”是正则表达式,表示以横杆字符’-’起始的行;通过cut命令把无关信息删除,选项-原创 2017-02-16 23:02:03 · 265 阅读 · 0 评论 -
第7章 流程控制
1. if/else语句格式:if list1;then list;[ elif list;then list; ]…[ else list; ]fi 数值比较运算符:-eq等于-ne不等于-le小于等于-gt大于ge原创 2017-02-16 23:12:22 · 220 阅读 · 0 评论 -
第8章 替换
1. 变量替换的高级形式在变量名前面添加$可以引用变量的值。若此时变量没有被定义或变量的值为空,则使用$符号进行变量替换会得到一个空的字符串。而Shell可以提供一些高级形式的变量替换,可以基于变量的状态来操作变量的值。案例:写一个调用编辑器文本文件,并在编辑以后显示文件内容的脚本,它接受三个命令行参数,分别是要操作的文本文件的路径、编辑文件所用的编辑器以及显示文本文件内容的显示程原创 2017-02-16 23:12:57 · 335 阅读 · 0 评论 -
第10章 函数
1. 定义和使用函数定义函数的格式:name (){ command-list;}调用函数的格式:name #省略括号2. 检查函数定义和取消函数定义查看到所声明的函数定义: declare –f name 取消定义的函数,可以使用unset命令:unset name3. 参数和返回数据案例:#!/bi原创 2017-02-16 23:16:40 · 1572 阅读 · 0 评论 -
第11章 其他常用工具
1. 使用find查找文件#打印出所有子目录下的*.o文件find "$SOURCE_DIR" -name \*.o-print #删除所有这些*.o文件,并把这些文件记录在files.list文件中find "$SOURCE_DIR" -name \*.o-print -exec rm '{}' \; > files.list解析:1 其中{}代替每一个搜索到的符原创 2017-02-16 23:19:08 · 229 阅读 · 0 评论 -
第12章 处理信号
信号就像一个软中断,当有一些重要的事情发生时,它们就会被发送到程序中。本章要学习的知识点:(1)在系统中如何表达信号;(2)如何查看系统中所有的信号名和对应的数字;(3)shell编程中常用到哪些信号;(4)如何发送特定的信号;(5)如何处理收到的信号;(6)如何忽略某些信号及如何恢复它们;(7)如何在脚本退出时做某些特定的处理;1. 如何表达信号信原创 2017-02-16 23:19:55 · 232 阅读 · 0 评论 -
第13章 使用sed处理文本
sed适合文件修改比较大的情况,vim或gedit适合小处修改。sed命令支持的三种操作,即打印、删除和替换1. sed如何工作sed是一个流编辑器,它可以对从标准输入流中得到的数据进行处理,然后把处理以后得到的结果输出到标准输出,而标准输出通常会关联到终端屏幕,因此处理后的结果也会显示到屏幕上。当然,也可以把标准输出重定向到文件,这样处理后的结果就保存在磁盘文件中。注意,se原创 2017-02-16 23:23:05 · 293 阅读 · 0 评论 -
第14章 使用awk处理文本
1. awk如何工作awk和流编辑器sed在工作原理和用法上有很多类似之处,它们都是检查输入数据中的行是否匹配指定的模式,如果匹配成功就对匹配的行执行相应的操作,重复这个过程指导所有的输入数据都被处理完,因此awk和sed都是面向数据流的工具。此外,awk和sed的相似之处还体现在两者使用的语法式很类似,都是使用正则表达式匹配来确定要操作的行。与sed不同的是,awk执行的操作要写在模原创 2017-02-16 23:25:51 · 391 阅读 · 0 评论 -
第9章 引用
1. 使用反斜杠为了打印出特殊字符,我们需要通过使用反斜杠来引用它们。下面是总结的特殊字符:字符含义~用户的主目录`命令替换#注释$变量引用&把任务放到后台执行*原创 2017-02-16 23:15:49 · 218 阅读 · 0 评论 -
第6章 变量
1. 普通变量1.1 统计计算机的软硬件信息案例:#!/bin/bash#使用便利替换定义若干个变量TIME=`date`NAME=`uname -n`KERNEL=`uname -s`VERSION=`uname -r`ARCH=`uname -m`OS=`uname -o`echo echo " Info about your computer"原创 2017-02-16 23:05:01 · 288 阅读 · 0 评论