【Linux】06 -- 匹配、排序及查找命令

匹配、排序及查找命令

  1.grep命令

  grep命令用来在指定文本文件中查找指定模式的单词或短语,并在标准输出上显示包括给定字符串模式的所有行,命令选项如下表所示。要搜索的模式就被看做是一些关键词、查看指定的文件中是否包含这些关键词。在使用时,如果没有指定文件,它们就从标准输入中读取。在正常情况下,每个匹配的行被显示到标准输出上。如果要搜索的文件不止一个,则在每一行输出之前加上文件名。命令格式为:

grep [options] filename

  grep命令的选项

选项功能说明
-E将查找模式看成是扩展的正则表达式
-F将查找模式看成是单纯的字符串
-b在输出的每一行前面显示包含匹配字符串的行在文件中位置,用字节偏移量来表示
-c只显示文件中包含配置字符串的行的总数
-i匹配比较时不区分字母的大、小写
-r以递归方式查询目录下的所有子目录中的文件
-n在输出包含匹配模式行之前,加上该行的行号

【例1】 在配置文件/etc/passwd 中查找包含字符串/neo)的所有行。

[root@localhost ~]# grep -F neo /etc/passwd
root:x:0:0:neo:/root:/bin/bash
neo:x:500:500::/hone/neo:/bin/bash
  2.sort 命令

  sort命令将逐行对指定文件中的所有行进行排序,并将结果显示在标准输出上。如果不指定文件名或者使用“ - ”表示文件,则排序内容来自标准输入。系统默认按照字符的ASCIⅡ编码顺序排序,如果要逆序排序,需要使用选项-r。
命今格式为:

sort [options] filename

【例2】系统中有文件file,txt,对它按行进行排序。
在这里插入图片描述

  在ASCII编码表中,%、1、a、A的编码分别为37、49、65、97,所以出现以上的排序结果。sort命令还有其他的排序规则,需要使用到不同的选项来引用。

  3.uniq命令

  uniq命令读取输入文件,并比较相邻的行,去掉重复的行,只留下其中的一行。该命令加工后的结果存放到输出文件中。输入文件和输出文件必须不同,如果没有指明输入文件,则将结果显示到终端。
命令格式为:

uniq [options] inputfile outfile

常用选项说明如下。
  -c:显示输出时,在每行的行首加该行在文件中出现的次数。
  -d:只显示重复行。
  -u:只显示文件中的不重复行。

【例3】删除文件filel.txt中重复的相邻行,将结果保存到file2.txt里。
在这里插入图片描述

  4.find 命令

  find命令用于在目录结构中搜索文件,并执行指定的操作。find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。命令格式为:

find [起始目录] 选项 操作

  说明如下。
  (1)起始目录:find命令所查找的目录路径。例如,用“.”来表示当前目录,用“/”来表示系统根目录。

  (2)find命令常用选项如下。

  -name:按照文件名查找文件。

  -perm:按照文件权限来查找文件。

  -user:按照文件属主来查找文件。

  -mtime -n +n:按照文件的更改时间来找文件,一n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。
  -type:查找某一类型的文件。

  (3)操作:当查找出文件后所进行的命令处理,一般用-exec选项,后面跟所要执行的命令或脚本,然后是一对{ },一个空格和一个\,最后是一个分号。使用示例如下:

$ find $ HOME - print     //查找当前用户主目录下的所有文件
$ find. - type f - perm 644 - exec ls - l { } \//列出当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件
$ find / - type f - size 0 - exec ls-l { } \//查找系统中所有文件长度为0的普通文件,并列出它们的完整路径
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

衍生星球

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值