文本搜索以及排序统计

whereis 命令

whereis是搜索命令的命令 ,不能搜索普通文件,可以搜索文本文档

[root@cfhzx ~]# whereis locate    #查询locate命令
[root@cfhzx ~]# which whereis    #查询whereis命令

在这里插入图片描述

locate命令:可以按照文件名搜索普通文件的命令。

优点:按照数据库搜索,搜索速度快,消耗资源小。数据库位置/var/lib/mlocate/mlocate.db.可以使用updatedb命令强制更新数据库。
缺点:只能按照文件名搜索文件,更不能执行更复杂的搜索。

[root@cfhzx ~]# updatedb  #第一步必须更新数据库
[root@cfhzx ~]# locate rm  #查找

find命令:主要是按照搜索的条件来查找文件

find命令

命令格式:find [查找路径] 寻找条件 操作

功能:按照指定条件在路径中搜索,搜索完成之后可以执行某些操作。

1:-name: 根据文件名称(精准匹配,除非加了通配符*)

[root@rhcsa link_test]# find . -name "data*" 

[root@rhcsa link_test]# find . -iname "data*"  # -iname 忽略大小写
[root@rhcsa link_test]# find . -inum 3325088  # -inum: 根据inode号来搜索
./data.txt

2:-size: 根据文件大小 后面可以跟 +|-, +代表大于,-代表小于

 			 `c'    for bytes

              `w'    for two-byte words

              `k'    for Kilobytes (units of 1024 bytes)

              `M'    for Megabytes (units of 1048576 bytes)

              `G'    for Gigabytes (units of 1073741824 bytes)
[root@rhcsa link_test]# find . -size -10c

3:-mtime: -mtime n : n表示代表n*24h

​ +|-: 以当前的时间为基准, 在多少天以内,以及在多少天以前

-mtime +1: >1天的,最少是两天以前修改的
-mtime -1:在1*24小时之内修改的
-mtime 1: 1*24h小时之内修改的: 4: 代表的是4-5天之内
find . -mtime -1

-newer file : 比file文件新的文件

[root@rhcsa link_test]# find . -newer 2
.
./newer


-perm: 

-: 代表的是包含
/:
g=w:只有这种权限
755


-type:文件类型:在find命令中使用的话

命令格式:find . -type
-/f: 普通文件
d:目录
b: 块设备
c: 字符设备
l: 链接文件
p: 管道文件
s: 套接字文件


-exec: execute: 执行的意思: 操作

在查找到信息之后,去执行某些操作。(会在shell脚本中经常出现)

-print: 每行打印一条

-print0:Linux中的空字符"\0"分隔每一个内容

[root@rhcsa link_test]# find . -name “ml*”
./ml.txt
./ml2.txt
./ml3.txt

找到之后,删除这三个文件

rm -f ml.txt
rm -f ml2.tx
rm -f ml3.txt
find . -name “ml*” -exec rm -f {} ;
#按上面操作:rm 执行了几次
rm -f ml.txt ml2.txt ml3.txt
rm -f ml.txt
rm -f ml2.txt
rm -f ml3.txt
[root@cfhzx ~]# find . -name “find_test*” |xargs -n 3 #找到所有以find_test的开头的文件并以每行三个输出
在这里插入图片描述


#  文本排序统计:
按列提取的时候要提取几行应该是num-num而不是..
## cut命令:
cut命令用于按列提取文本内容,
## 使用:cut 参数  文件名称

```powershell
[root@cfhzx ~]# cut -d : -f1 /etc/passwd   提取passwd文件中的所有用户名信息
-d: 指定分隔符, 按列提取的时候,就根据分隔符来进行列切割。

​ -f:多列,你想取哪一列就取哪一列,取多列

unique 唯一 去重

[root@cfhzx ~]# ls -l |cut -d" " -f3|uniq #查找并去重
还可以使用uniq去重文件里面的重复内容
例如uniq find.txt  #去重find,txt

sort命令:排序:排序时按照字符串进行排序

  -n 按照数值型排序需要加参数 
  -f 忽略大小写
  -b 忽略缩进与空格
  -r 反向排序
  -u 去除重复行   和uniq一样但是sort -u 还会排序 uniq只会去重
  -t 指定间隔符  
  -k 设置字段范围
 

wc 命令:计数

wc -l # 显示行数
wc -w  #显示单词数
wc -c #只显示字节数

tr :转换或者删除字符


-c, -C, -反选字符
              使用 SET1 的补集

-d, --删除
              删除 SET1 中的字符,不翻译

-s, --挤压-重复
              替换最后指定的 SET 中列出的重复字符的每个序列,
              该字符的单次出现

-t, --截断集合1
              首先将 SET1 截断为 SET2 的长度
[root@cfhzx ~]# cat redirect2.txt  | tr  a-z A-Z #将文件里里面的adaoz的字母小写转换为大写,如果后面比前面集合大那就可以全部转化,如果前面比后面大,那就把大的全部转化为最后一个字符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值