linux 一些常用的命令-查找文件-正则表达式

本文介绍了Linux中查找文件的`locate`和`find`命令,讲解了正则表达式的元字符、grep的使用,以及量词、多选结构等概念,帮助读者掌握在Linux环境下使用正则表达式进行文本处理的基本技巧。
摘要由CSDN通过智能技术生成

linux 一些常用的命令-查找文件-正则表达式

一、查找文件命令 - locate find两个命令

locate–简单的文件查找方法

直接使用 locate 文件名 就可以使用

也可以结合grep 来进行过滤,会输出所有匹配的路径

**find —比较复杂的命令 当然也有更强的功能 **

find 命令可以添加很多的测试条件,可以指定要查找的目录

但如果是相对路径,必须让要查找的目录在当前目录下

find playground -type f -name "file-a" | wc

这是一个很典型的应用 要查找的目录是playground

测试条件yon -参数名 参数 来设定

-type d/f 可以设置查找文件或者目录

-name 用来匹配文件名或者目录名

还有很多参数可以设定,这个具体使用的时候可以查

二、正则表达式

正则在编译原理的时候学过原理,但是具体使用确实没怎么用过

Linux 中正则表达式的使用就是用 grep(global regular expression print)

正则重来进行文本的处理,这里学的是posix标准范围内的正则表达式

可以用来查找文件中的对应项

学习正则表达式里面的元字符
  • 包括 ^ $ . [ ] { } - ? * + ( ) | \

他们都有各种不同的用法 需要学习一下

  1. 任意字符

    Dot . 它可以用来匹配任意字符,如果把它放到正则表达式里面,他可以用来替代该位置上任何一个字符

    grep -h '.zip' dirlist*.txt

    这里后面的表示要搜索的文件的范围,也使用了正则表达式

    ‘.zip’ 这里面的 dot 就是任意字符。比如a.zip b.zip 就可以和.zip进行匹配

  2. 锚点

    ^ 和 $ 被视为锚点 分别表示仅当正则表达式出现在行首或者行尾的时候才匹配

    grep -h '^zip' dirlist*.txt

    grep -h 'zip$' dirlist*.txt

  3. 方括号选择

    方括号表示一个集合,可以包含任意数量的字符,其中出现的元字符回丢失特殊含义,但是两种除外

    ^用来表示否定 - 用来表示范围

    […]中的可以用来表示可匹配的字符

    grep ‘[a-z0-9A-Z]’ bin*.txt

    查找以大写字母开头的

    grep -h ‘^[A-Z]’ dir*.txt

  4. 多选结构

    echo “AAA” | grep -E ‘aaa|AAA|bbb’

    这里 | 符号就表示多选 这个在编译原理里面学的是一样的

    ()可以用括号来做分隔

    (aaa|bbb)ccc 可以匹配 aaaccc 或者bbbccc

    可以用这个多选来组成更复杂的正则表达式

    在grep 中 -E 是为了提醒要用分隔了 不要把| 符号当作是管道

  5. 量词

    在正则表达式里面,量词比较重要 包括 ? * + {}

    他们都跟到一个字符或者一个[]的后面 使用集合或者字符表示匹配字符的数量

    ? 匹配1或者0

    * 匹配0或者无穷个

    + 匹配1或者无穷

    {n} 大括号中n表示匹配n个

学到这里就可以写出简单的正则表达式了,可以用在find grep还有vim等场景,以及在编程语言中也可以用来进行模式匹配,就先把这些简单的学一下,到了用的时候还需要进一步练习。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值