NO5 grep-head-tail命令


·*****grep:#过滤需要的内容(linux三剑客)。
                   -v:排除内容。eg:grep -v oldboy test.txt

·head: #头,头部。读取文件的前n行,默认前10行。
           -n 数字,可省略n。
·tail:#尾,尾部。读取文件的后n行,默认后10行。
         -n 数字,可省略n。

 

·提示:三剑客是grep,awk,sed,他们都有过滤字符串的功能。

        grep最擅长
        awk处理列擅长
        sed擅长删除,修改,替换,添加。

 

 

 

问题八:已知文件test.txt内容为:
test
liyao
oldboy
请给出打印test.txt内容时,不包含oldboy字符串的命令。

解答:

先用cat >>文件<<EOF...内容...EOF(前后2个EOF可以换成任何相同字母组合。)
[root@localhost data]# cd /
[root@localhost /]#
[root@localhost /]# cat >>test.txt<<EOF
> test
> liyao
> oldboy
> EOF
[root@localhost /]# cat test.txt
test
liyao
oldboy


·方法一:使用grep -v 命令:过滤排除某项并打印其他的项。
[root@localhost /]# grep -v oldboy test.txt
test
liyao

·方法二
[root@localhost /]# cat test.txt|grep -v oldboy (cat和管道方式,这个麻烦,不专业)
test
liyao

·grep直接用是过滤啥出来啥:
[root@localhost /]# grep oldboy test.txt
oldboy

·head命令:读取文件的前n行,默认前10行,n可省略:
[root@localhost /]# head -2 test.txt
test
liyao
[root@localhost /]# head -1 test.txt
test
[root@localhost /]# head -n 2 test.txt
test
liyao

·head命令:读取文件的前n行,默认前10行
[root@localhost /]# seq 20 >a.txt  (seq生成序列的命令)
[root@localhost /]# cat a.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@localhost /]# head a.txt
1
2
3
4
5
6
7
8
9
10
[root@localhost /]#

·和head相对的命令是:tail:读取文件的后n行,默认后10行:
[root@localhost /]# tail a.txt
11
12
13
14
15
16
17
18
19
20
[root@localhost /]# tail -2 a.txt
19
20


·方法三:0基础可以忽略此法:
拓展:三剑客之一的sed删除方法,其实是把oldboy行删除,然后打印剩下的内容。
sed /oldboy/d test.txt
sed -e /^oldboy/d test.txt

[root@localhost /]# sed -e /^oldboy/d test.txt
test
liyao
[root@localhost /]# sed /oldboy/d test.txt
test
liyao
[root@localhost /]# sed -n /[^oldboy]/p test.txt
test
liyao


·方法四:0基础可以忽略此法:
[root@localhost /]# sed -n /[^oldboy]/p test.txt
test
liyao

·方法五:0基础可以忽略此法:
[root@localhost /]# awk /[^oldboy]/ test.txt
test
liyao

 

posted @   Sinsen柳  阅读(401)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示