字符处理

1. 管道
在Linux中也存在着管道,它是一个固定大小的缓冲区,该缓冲区的大小为1页,即4K字节。管道是一种使用非常频繁的通信机制,我们可以用管道符“|”来连接进程,由管道连接起来的进程可以自动运行,如同有一个数据流一样,所以管道表现为输入输出重定向的一种方法,它可以把一个命令的输出内容当作下一个命令的输入内容,两个命令之间只需要使用管道符连接即可。

[root@localhost ~]# ls -l /etc/init.d | more

2. grep(常用)
为演示grep的用法,这里首先创建一个文件,文件名和文件内容如下:

[root@localhost ~]# cat tomAndJerry.txt
The cat’s name is Tom, what’s the mouse’s name?
The mouse’s NAME is Jerry
They are good friends

下面要找出含有name的行:

[root@localhost ~]# grep ‘name’ tomAndJerry.txt
The cat’s name is Tom, what’s the mouse’s name?

打印出含有name的行的行编号

[root@localhost ~]# grep -n ‘name’ tomAndJerry.txt
1:The cat’s name is Tom, what’s the mouse’s name?

由于grep区分大小写,所以虽然第二行中含有大写的NAME,但是也不会匹配到。如果希望忽略大小写,可以加上-i参数。

如果想知道文件中一共有多少包含name的行,可以使用下面的命令。注意到第二条命令和第一条命令只有一个参数的差别,但是输出的结果却是不一样的。了解了-i参数的作用就不难理解了,请读者自行区分以下两条命令的区别。

[root@localhost ~]# grep -c ‘name’ tomAndJerry.txt
1
[root@localhost ~]# grep -ci ‘name’ tomAndJerry.txt
2

find . -name  “*.log”  在当前目录查找以 .log 结尾的文件。  “.” 代表当前目录

3. 使用sort排序

[root@localhost ~]# cat sort.txt | sort
a:4
b:3
c:2
d:1
e:5
f:11

4. 使用uniq删除重复内容

[root@localhost ~]# cat uniq.txt | uniq
abc
123
abc
123
[root@localhost ~]# cat uniq.txt | sort | uniq
123
abc

使用-c
参数就会在每行前面打印出该行重复的次数

[root@localhost ~]# cat uniq.txt | sort | uniq -c
2 123
2 abc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值