2016-11-08 60 views
0

我正试图在当前目录中的所有文件的一对空格之间查找所有出现的三个字符。从多个文件中提取模式的出现

到目前为止,我有

sed 's/.../(&)/g' 

我知道这是不对的;我觉得我被困在某些东西上。我怎样才能做到这一点?

+0

另请参见[在给定目录中递归查找文本](https://stackoverflow.com/documentation/grep/2198/getting-started-with-grep/10692/find-text-within-a-given-目录递归地#t = 201611080646111179158) – Sundeep

回答

1
grep -r -l ' [a-zA-Z]{3} ' . 

说明:

-r grep recursively from the current folder (.) 
-l only display file names, rather than all matching lines 

我使用的正则表达式是[a-zA-Z]{3},它匹配在一对空间之间三个字符,在给定的文件的任何地方。

+0

不需要'^。*'和'。*'......需要使用'-E'选项或'\ {3 \}'..另外,最好使用单引号如果不需要替换,请不要使用double。请参阅[如何以递归方式grep?](https://stackoverflow.com/questions/1987926/how-do-i-grep-recursively)for grep versions without'-r '选项... – Sundeep

+0

@Sundeep我更新了我的答案,谢谢你的反馈。 –

相关问题