awk-grep-sed-head-tail7种命令实践

awk-grep-sed-head-tail7种命令实践

1、sequence==seq序列
[root@localhost ~]# seq 6
1
2
3
4
5
6
[root@localhost ~]# seq 2 6
2
3
4
5
6
[root@localhost ~]# seq 1 2 6
1
3
5

列子:如何从100的序列,取出20到30的数字
[root@localhost ~]# seq 100 >test.txt
[root@localhost ~]# cat test.txt
[root@localhost ~]# head -30 test.txt |tail -11
20
21
22
23
24
25
26
27
28
29
30

2、sed stream editor 流编辑器,实现对文件的增删改替换查看

sed -n '20,30’p test.txt
-n代表取消默认输出
'20,30’代表要输出的行数内容
p:代表打印

[root@localhost ~]# sed -n '20,30’p test.txt
20
21
22
23
24
25
26
27
28
29
30
取出一行数据
[root@localhost ~]# sed -n '20’p test.txt
20

(1)sed替换文本中字符串名称
sed “s#oldgirl#xiaoming#g” oldboy.txt 注意此处只是改输出内容
sed -i “s#oldgirl#xiaoming#g” oldboy.txt 此处可以改文本里面的内容
g与s联合使用时,表示对当前行全局匹配替换
S常说的查找并替换,用一个字符串替换成另一个
-i:代表修改内容

[root@localhost ~]# echo ‘oldboy oldgirl’ >oldboy.txt
[root@localhost ~]# cat oldboy.txt
oldboy oldgirl
[root@localhost ~]# sed “s#oldgirl#xiaoming#g” oldboy.txt
oldboy xiaoming

[root@localhost ~]# mkdir -p /oldboy/test
[root@localhost ~]# cd /oldboy/
[root@localhost oldboy]# ls
ett oldboy oldboyson oldboy_son oldgirl test
[root@localhost oldboy]# echo “oldboy” >test/del.sh
[root@localhost oldboy]# echo “oldboy” >test.sh
[root@localhost oldboy]# echo “oldboy” >.sh
[root@localhost oldboy]# tree.
|-- ett
| -- test |-- oldboy |-- oldboy_son |-- oldboyson |-- oldgirl |-- test |– del.sh
`-- test.sh

[root@localhost oldboy]# find /oldboy/ -type f -name ‘.sh’|xargs cat
oldboy
oldboy
oldboy
[root@localhost oldboy]# **find /oldboy/ -type f -name '
.sh’|xargs**
/oldboy/test.sh /oldboy/.sh /oldboy/test/del.sh
[root@localhost oldboy]# find /oldboy/ -type f -name ‘*.sh’|xargs sed -i 's#oldboy#oldgirl#g’
[root@localhost oldboy]# find /oldboy/ -type f -name ‘*.sh’|xargs cat
oldgirl
oldgirl
oldgirl

[root@localhost oldboy]# sed -i ‘s#oldgirl#old#g’ find /oldboy/ -type f -name "*.sh"
[root@localhost oldboy]# find /oldboy/ -type f -name ‘*.sh’|xargs cat
old
old
old

3、awk
NR:代表行号
&&:代表并且的意思 且俩边成立
linux中一个等号代表赋值;俩个等号才代表等于号

[root@localhost ~]# awk ‘NR>19&&NR<31’ test.txt
20
21
22
23
24
25
26
27
28
29
30

4、grep
-A:除了显示匹配的一行之外,并显示改行之后的num行
[root@localhost ~]# grep 20 -A 10 test.txt
20
21
22
23
24
25
26
27
28
29
30

-C:除了显示匹配的一行之外,并显示该行前后各num行
[root@localhost ~]# grep 25 -C 5 test.txt
20
21
22
23
24
25
26
27
28
29
30

-B:除了显示匹配的一行之外,并显示该行之前的num行
[root@localhost ~]# grep 30 -B 10 test.txt
20
21
22
23
24
25
26
27
28
29
30

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值