find命令和grep命令的区别及详细用法

用‘grep’搜索文本文件
 
  如果您要在几个文本文件中查找一字符串,可以使用‘grep’命令。‘grep’在文本中

搜索指定的字符串。

命令行参数:
 

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而

不是‘magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
这里还有些用于搜索的特殊符号:
 
< 和 > 分别标注单词的开始与结尾。
例如:
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
grep '<man' * 匹配‘manic’和‘man’,但不是‘Batman’,
grep '<man>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
'^':指匹配的字符串在行首,
'$':指匹配的字符串在行尾,
 

linux中find
 

下面是一些有意思的命令行参数:
 
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而

不是‘magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
这里还有些用于搜索的特殊符号:
 
< 和 > 分别标注单词的开始与结尾。
例如:
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
grep '<man' * 匹配‘manic’和‘man’,但不是‘Batman’,
grep '<man>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
'^':指匹配的字符串在行首,
'$':指匹配的字符串在行尾,
 
grep和find的区别
 

1.
 linux中的find等同与win中的搜索文件。
 find是在磁盘/分区中找到文件,可以配type可以配size time等,通过文件名或文件大小或

访问时间找到指定文件。
 
2.
 linux中的grep等同与win中的findstr命令。可以在一个txt文本中截取到有特定关键字的行

,并显示出来。
 grep也可以通过关键字,在一个文件夹下查找多个有这些关键字的文件,并生成结果。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`grep` 是一个强大的文本搜索工具,在 Unix 和类 Unix 系统中非常常用,包括 Linux、macOS 和 BSD 等。它的全称是 "全局查找行"(GNU's Regular Expression Print),用于在文件或输入流中搜索特定模式(正则表达式)。 **详细解释:** 1. **基本用法:** `grep [选项] [模式] [文件名]` - `模式`:要查找的字符串或正则表达式。 - `文件名`:可以是一个文件,也可以使用通配符(如 * 或 ?)来匹配多个文件。 2. **选项:** - `-i` 或 `--ignore-case`:忽略大小写。 - `-v` 或 `--invert-match`:返回不匹配的行。 - `-r` 或 `--recursive`:在目录中递归搜索。 - `-n` 或 `--line-number`:显示匹配行的行号。 - `-l` 或 `--only-matching`:只显示匹配行的文件名。 3. **标准输入(-):** - 当没有提供文件名时,`grep` 会读取来自标准输入的数据,如从管道(`|`)输入。 4. **使用正则表达式:** - `grep` 支持基本的正则表达式语法,如`.`(匹配任意字符)、`*`(零次或多次)、`?`(零次或一次)等。 - 更高级的正则表达式功能可以通过扩展选项启用,如 `grep -E`(启用扩展正则表达式)或 `grep -P`(启用 Perl 正则表达式)。 5. **匹配模式的输出:** - `grep` 通常会显示包含匹配模式的行,如果未指定其他选项,输出默认是原样。 **相关问题--:** 1. 如何使用 `grep` 查找文件中的某个单词? 2. 如何结合 `grep` 和 `find` 命令递归搜索多个目录? 3. 如何使用 `grep` 忽略大小写并返回所有匹配行?

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值