> 文档中心 > shell基础-字符处理命令

shell基础-字符处理命令

目录

一、排序命令

二、uniq 取消重复行的命令

三、grep和find:

1)grep行提取命令

2)find和grep的区别


一、排序命令

        很多情况下都需要对无序的数据进行排序,这时就要用到sort排序了。

sort命令:

sort [选项] 文件名

子选项:-f 忽略大小写

-n 以数值型进行排序,默认使用字符串排序

-r 反向排序

二、uniq 取消重复行的命令

uniq命令是用来取消重复行的命令,其实和sort -u选项是一样的。

uniq 命令:

命令格式:uniq [选项] 文件名

-i:忽略大小写。会忽略后输入的相同的字符串。

-c:取消重复行并且统计重复出现的次数。

(需要注意,当重复不连续时uniq是不生效的,需要先sort排序,再执行uniq。)

三、grep和find:

1)grep行提取命令

格式:grep 子选项 ”关键词“ 文件名

选项:-A数字 #列出符合条件的行,并连续列出后续n行(如果小写,那么会列出前后

n行)。

-B数字 #列出符合条件的行,并连续列出前面n行(如果小写,那么会列出前后

n行)。

-c #统计符合条件的字符串行数

-i #忽略大小写

-n #输出行号

-v #反向查找(取反)

-o #只列出关键字- - color=auto #搜索出的关键词高亮显示

例:

2)find和grep的区别

find查找:

find命令是在系统中搜索符合条件的文件名,如果需要模糊查询就要使用通配符进行匹

配,搜索时文件名是完全匹配

 

 

(我们创建了两个文件分别为abc、abcd在用find查找文件名abc时,只看到了abc文件。说

明了grep命令查找为完全匹配。虽然abcd包含abc,但是也不会被找到。)

grep查找:

grep命令是在文件这种搜索符合条件的字符,如果需要模糊查询,使用正则表达式进行匹配,搜索时字符串是包含匹配。

 

(首先在test文件中输出123,然后追加字符123456。之后用grep命令在test文件中查找 123。看到查找结果有123、123456。)