gpt4 book ai didi

linux - 使用 grep 识别模式

转载 作者:太空宇宙 更新时间:2023-11-04 09:23:25 25 4
gpt4 key购买 nike

我有几个文档托管在一个云实例上。我想将所有符合特定模式的单词提取到 .txt 文件中。这是模式:

ABC123A
ABC123B
ABC765A

等等。本质上,单词以特定字符串“ABC”开头,具有固定数量的数字,并以字母结尾。这是我的代码:

grep -oh ABC[0-9].*[a-zA-Z]$ > /home/user/abcLetterMatches.txt

当我执行查询时,它运行了几个小时而没有生成任何输出。我有超过 1100 份文件。但是,当我运行此查询时:

grep -r ABC[0-9].*[a-zA-Z]$ > /home/user/abcLetterMatches.txt

带有字符串的文件列表在几秒钟内生成。

我需要在查询中更正什么?另外,是什么导致了延迟?

更新 1

根据回答,很明显该命令缺少需要对其执行的文件名。我想在多个文档文件 (>1000) 上运行代码

我要搜索的文档在一个目录下的多个子目录中。搜索它们的好方法是什么?做

grep -roh ABC[0-9].*[a-zA-Z]$ > /home/user/abcLetterMatches.txt

只返回文件名。

更新 2

如果我使用以下答案中的更新代码:

find . -exec grep -oh "ABC[0-9].*[a-zA-Z]$" >> ~/abcLetterMatches.txt {} \; 

我得到一个没有文件或目录错误

更新 3

模式可以在行中的任何位置。

最佳答案

你可以使用这个正则表达式:

~/  grep -E "^ABC[0-9]{3}[A-Z]$" docs > filename
ABC123A
ABC123B
ABC765A

关于linux - 使用 grep 识别模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39419564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com