首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >grep和grep -f差异

grep和grep -f差异
EN

Unix & Linux用户
提问于 2019-07-23 03:30:10
回答 2查看 1.7K关注 0票数 4

我有一个包含以下3行的文件:

file.txt

代码语言:javascript
运行
复制
aaa|
bbb|
ccc|

另一个有一行的文件:

regex.txt

代码语言:javascript
运行
复制
^aaa\|

$grep ^aaa\| file.txt产量:

代码语言:javascript
运行
复制
aaa|

$grep -f regex.txt file.txt产量:

代码语言:javascript
运行
复制
aaa|
bbb|
ccc|

为什么grep -fgrep的结果不同?

代码语言:javascript
运行
复制
$grep -V
grep (GNU grep) 3.1

$lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.1 LTS
Release:    18.04
Codename:   bionic
EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2019-07-23 03:38:23

你在基本正则表达式中使用grep。grep ^aaa\| file.txt与键入grep "^aaa|" file.txt相同。当读取文件grep -f regex.txt file.txtgrep "^aaa\|" file.txt.相同时,转义|意味着匹配任何匹配的^aaa""

票数 6
EN

Unix & Linux用户

发布于 2019-07-23 06:19:38

在文件中使用regexp时,不需要\ (转义)。在文件中,它被视为\字符。在命令中,它被视为转义,并被忽略(由于缺乏对表达式的引用)。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/531591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档