shell高级编程经典教程
学习sehll高级编程的绝好文档,由浅入深,内容详细,而且有大量经典例题......
非正常退出时的文件恢复:
1.非正常退出后再次登录执行vim /test时,会出现这样的界面提示:
2.执行vim -r test后再次执行vim /test时,出现下面的提示界面:
3.未删除.test.swp文件时,即使恢复了文件仍然提示,恢复并删除才算完成:
学习sehll高级编程的绝好文档,由浅入深,内容详细,而且有大量经典例题......
环境变量:
学习sehll高级编程的绝好文档,由浅入深,内容详细,而且有大量经典例题......
grep(基本型) 参数: ^ 匹配行首 $ 匹配行尾 . 匹配单字符
* 在正则表达式中表示匹配 >= 0 个前面出现的字符,而在bash中*表示>=0个任意字符
[] 里面可以写很多,但是值匹配一个,如果都找到呢,就都输出来 \ 转义符,如 ’\.$’ 表示以 . 结尾
grep –v ‘12’ /share/date 在/share/date中找不含12的行,只要有12的行就不显示。但是grep ‘【^2】’ /share/date表示非2的的都可以显示,如果这一行的内容只有23,那么3是符合条件的,仍然显示这一行。区别很微妙,操作一下就明白了…… ^$空行
^…$只有3个字符的行 ^.*$匹配行中任意字符
.* 用的非常多的,匹配任意个任意种类的字符(即>=0个),比如找到am和bm之间有任意多个任意字符时,用’am.*bm’,可以找到找到ambm,amhbm,amfsbm,……总之am与bm之间有>=0个字符就是了。另外am和bm之间有任意多个字符o时,用’amo*bm’,(不是amo.*bm哦),可以找到ambm,amobm,amoobm,amooobm……如果是在h和g之间有至少2个o呢,就是’ hooo*g’,找到
学习sehll高级编程的绝好文档,由浅入深,内容详细,而且有大量经典例题......
hoog,hooog,foooog……有点小啰嗦~~~
-i 不区分大小写,如 -i ‘the’ 就可以找到不区分大小写的the o\{a,b\}既然功能相似就一起吧,这个表示匹配的次数,如果在h 和g之间有2个o就是 ’ho\{2\}g’,如果至少2就是 ’ho\{2,\}g’ , 如果是2到5个呢,就是’ho\{2,5\}g’ 啦……
[IiNn]大写或小写i或n,但是[Ii][Nn]只能找到i和n,为什么,下图。
[^0-9a-zA-Z] 非数字且非字母
grep ‘12[0-3]’ /share/date 找含120或121或122或123,都存在呢,就都显示出来呗~~~
grep ‘^[^12]’ /share/date 查找开头不是12的行 grep ‘[Ss]tep’ 找Step或step
grep –E ‘134 | 159’ /share/test 找134或159,用管道符号时必须加 –E ,因为grep是基本型的,如果是延伸型的egrep就不用加 -E啦,所以只用grep ‘134 | 159’ /share/test会找不到。但是为什么用egrep ‘134 | 159’ /share/test找到了,却没有行号和颜色呢,因为提前已经在~/.bashrc设置好了alias grep = ‘ grep -n --color=auto ’ ,加入这条语句后执行source ~/.bashrc重启终端生效,或者关掉终端再打开。
学习sehll高级编程的绝好文档,由浅入深,内容详细,而且有大量经典例题......
egrep(延伸性)
egrep是grep的延伸,它有更多的功能,主要表现在上面提到的管道符号上,另外还有一些……
如果想去掉以#开头的注释行和空白行,用基本型grep表示为 grep –v ‘^#’ /share/test | grep –v ‘^$’ 用延伸型的egrep表示为 egrep -v ‘^#|^$’ /share/test 这样看区别很明显吧!!!
‘go?d’ g和d之间有0个或1个o,即gd或god
‘go+d’ g和d之间有 >=1个o,即god或good或goood…… ‘go*d’ g和d之间有 >=0个o,即gd或god或good或goood…… ‘go.*d’ go和d之间有 >=0个任意字符,即god或gohd或gostd…… ‘g(oo|la)d’ 找good或glad,注意grep中用(),而grep用[] ‘A(xyz)+W’ 找开头是A结尾是W,中间有>=1个字符串xyz,如xyz,xyzxyz……例如执行echo ‘AxyzxyzxyzxyzW’ |egrep ‘A(xyz)+W’
学习sehll高级编程的绝好文档,由浅入深,内容详细,而且有大量经典例题......
Sed: 查找工具,查找或替换一个文件中的指定行,是面向行的操作,但是用字符串替换命令却可以直接对行中的字符串替换,(如果就爱了个指定字符串替换为空就删掉了)所以sed可以插入,删除行,也可以插入,删除字符串。但是不会对原文件修改,只是将结果输出 参数:
a 在指定行的后面插入一行 i 在指定行的前面插入一行
(如果插入几行呢,就在各行之间用换行符\n) d 删除指定的一行或几行
p 在屏幕列出指定的一行或几行,常与-n配合使用
c 面向行的操作,替代一行或几行 (将几行替代为一行或将一行替代为几行都可以)
sed ‘s/this/that/g’ 替换字符串命令 将this替换为that,是面向指定行中的指定字符串的操作。有了它sed变得更强大了,它将sed的行操作扩展到行中的字符串,可以插入、替换或删除字符串,和vim中命令行模式下的 :$s/this/that/g类似,但是更好用。
-i 直接修改文档内容而不输出,慎用。如:sed -i ‘s/ \.$ / \! /g’可将每行末尾的 . 替换为 !(.和!都加了转义符\) 。注意这个 -i和上面的i有所不同。 例子:
下面的4个小技巧是在文档sed.txt中操作的:
学习sehll高级编程的绝好文档,由浅入深,内容详细,而且有大量经典例题......
Sed ‘2,$d’ sed.txt 删除第二行到最后一行 Sed’$d’ sed.txt 删除最后一行
如果有一行内容为 a is b 那么怎么来插入和删除呢 Sed ‘s/is/is from/g’ 就插入了from了 变成a is from b Sed ‘s/is//g’ 就删除is了,变成 a b ① nl /etc/passwd | sed ‘2a helllo \n jim’
将hello 和jim两行插入到第二行的后面,注意helllo和jim之间加了换行符 \n哦
② 将a替换为i就是插入到第二行的前面
③ nl /etc/passwd |sed ‘2,5 d’ 删除2,3,4,5行
④ nl /etc/passwd | sed -n ‘5,7 p’ 在屏幕输出5,6,7行,与-
-n一起用
⑤ nl /etc/passwd | sed ‘ 2,30c helllo \n jim’ 将2到30行换为
helllo
学习sehll高级编程的绝好文档,由浅入深,内容详细,而且有大量经典例题......
和jim两行
⑥ /sbin/ifconfig eth0 | grep’inet addr’ 可找到含inet addr: 的行。 /sbin/ifconfig eth0 | grep’inet addr’ | sed ’s/^.*addr://g’ | sed ’s/Bcast.*$//g ’ 先将 addr: 及前面的内容换为空(即删除),再将Bcast后面的内容换为空(删除),结果呢,这一行就只剩192.168.0.10了,这就是替换的强大之处,如下图(如果将指定字符串替换为其他呢)
⑦ cat /etc/man.config | grep ‘MAN’ | sed ‘s/^#.*//g’ | sed’s/^$//g’用grep找到含MAN的行,再在其中将以#开头的注释行换为空行,再将空行删除。(注意是换为空行,所以原来的注释行虽然内容没有了,但是行还在,也就是出现了许多空行,所以后面才删除空行) 其中以#开头的注释行除了用^#.*表示,也可以用#.*$表示。
上面的方法虽然能涉及更多的知识点,却很繁琐,不如直接将以#开头的注释行删除,命令为:
cat /etc/man.config | grep ‘MAN …… 此处隐藏:4578字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]一年级家长课程教案
- [高等教育]封丘县人民医院深入推进纠正医药购销领
- [高等教育]2017年6月大学英语四级真题试卷及答案(
- [高等教育]2017年北京第二外国语学院文学院824中
- [高等教育]7 高中历史第7单元1861年俄国农奴制改
- [高等教育]【K12学习】4、实际测量-苏教版六年级
- [高等教育]药具培训试卷题库及部分参考答案
- [高等教育]本土电子元器件目录分销商如何赢得生意
- [高等教育]七年级岭南版美术教案
- [高等教育]书作文之书法活动通讯稿
- [高等教育]Endnote X 软件使用入门和用法总结(LS)
- [高等教育]嵌入式系统的现状及发展状况
- [高等教育]2012抗菌药物专项整治活动方案解读
- [高等教育]人教版新课本一年级数学下册期末试卷
- [高等教育]爱课程民法学观后感
- [高等教育]930机组使用说明书1
- [高等教育]煤气设备设施点检标准
- [高等教育]常见室内观叶植物图解
- [高等教育]312党员群众路线心得体会
- [高等教育]小学信息(苗版)第一册全册教案
- 在市---局2010党建大会上的讲话
- 《科哲》提纲及补充阅读材料(2010.7)
- 苏州高博软件技术职业学院论文开题报告
- 兼职导游管理的困境及对策探讨
- 基于通用设计理念的现代厨房产品语义研
- 康乐一中2010年至2011年度鼓号队、花束
- 第10章_数据收集整理与描述_期末复习课
- 2008年黑龙江林甸商贸购物中心营销策划
- 水硬度的测定实验报告
- 五分钟教你拍摄夜景光绘照
- 2014年临床妇产科三基三严试题及答案
- 0第二课 纾解压力第一站了解压力
- 解析建筑工程电气设备安装施工技术要点
- 地方性应用型本科高校“双师型”师资队
- 高考语文专题复习课件:小说阅读指导
- 装饰工程投标书2
- 大学生就业难问题探讨及对策
- English and Its History
- 青岛市城市房屋修缮工程质量监督管理办
- 初中英语形容词和副词的用法和练习题




