学习有一段时间了,感觉状态良好,老师所讲的课下也都能想起来,这算是学会(记下)了把浅谈Linux下简单排除字符串的几种方法(awk、sed、grep)_想法

本着对自己仁慈的起点,出了道十分简单的题考考自己,不上机,手写...结果悲剧满满


题1:有3行文本,要求排除中间行,显示第1行和第3行

模拟环境

[root@b1maw3n tmp]# cat>>a.txt<<EOF           
> aa
> bb
> cc
> EOF
[root@b1maw3n tmp]# cat a.txt 
aa
bb
cc
#EOF  可以指定任意字符,尽量用EOF,用其它的需要避免与文本内容一致造成的意外结束

思路1:通过awk取反来排除掉文本bb  错的不应该

[root@b1maw3n tmp]# awk 'bb' a.txt 
#不要让自己的行为,限制自己的思想
[root@b1maw3n tmp]# awk '!/bb/' a.txt 
aa
cc
[root@b1maw3n tmp]#


思路2:通过sed命令,排除掉第二行文本

[root@b1maw3n tmp]# sed '/bb/d' a.txt 
aa
cc
#参数的和-n不能同时使用,王八的屁股,规定
[root@b1maw3n tmp]# sed -n '/bb/d' a.txt 
[root@b1maw3n tmp]#


思路3:通过grep -v参数排除文本bb

[root@b1maw3n tmp]# grep -v "bb" a.txt 
aa
cc
[root@b1maw3n tmp]#


基本就这样了,面对问题,先提出解决办法,然后实现办法


眼高手低不可取...别让行动,限制了你的想法。唉,基础不牢,地动山摇