Linux之过滤器

Linux之过滤器

过滤器就是读取数据,对数据执行一些操作后,写入数据的程序。可以与管道符配合使用。本文将列举一些Linux中我认为常用的过滤器


cat

cat(catenate):将标准输入传向标准输出(但最重要的作用是组合文件)

听起来好像没啥用,但通过和重定向结合,他有许多有趣的用法,例如

  • cat > data:快速创建文件,将键盘输入的内容写入data文件中,输入结束后按^D发送eof信号
  • cat < data:快速显示文件,将文件的内容打印到屏幕上
  • cata < data > newdata:复制文件,将data的内容复制到newdata中

但由于cat通常都是需要从文件读取数据的,所以cat将文件名作为了参数,相当于省略了<,同时还支持多个文件,语法为

cat [-bns] [file…]

当指定多个文件时,将依次读取每个文件的数据,并依次输出,这就是cat最常用的用法:组合文件,例如

cat data newdata

他的一些常用选项的含义

  • -n(number):在每行前面加一个行号
  • -b(blank):和-n选项一起使用,告诉cat不要对空白行编号
  • -s(squeeze):将多个连续空白行替换为一个空白行

还有两个类似的命令tac(cat反转),用法和cat一样,但会把输出各行的顺序反转。命令rev,会把各行中的字符顺序反转。


head和tail

当文件太大(比如log),我们可以用headtail查看文件头/尾部的部分数据,其语法如下

tail [-n lines] [file]
head [-n lines] [file]

例如

tail -n 1000 app.log
head -n 1000 app.log

grep

查找对应的内容,语法为:

grep [options] pattern [file…]

其中pattern是要查找的内容,可以用正则,file是被搜索的文件,将查找出含有搜索内容的行。例如

grep root /etc/passwd

下面列举一些我认为常用的选项(省略-,注意大小写)

  • c:显示所查找到的行数量
  • i:忽略大小写
  • n:显示时展示行号
  • l:显示包含搜索内容的文件名
  • w:搜索完整单词
  • x:搜索完整行,
  • v:反转,显示不含有搜索内容的行
  • r:搜索整个目录,搜索指定目录及其子目录下所有的文件
  • E:使用扩展正则表达式,功能更强大

nl

添加行号,语法为

nl file

默认会对所有非空行添加行号,若需要对所有行都添加,可以使用

nl -b a file

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值