在一组文件中查找文本的更简洁方法是什么?

jgo*_*ley 2 unix bash shell

我目前使用以下命令,但输入有点笨拙.什么是更短的选择?

find . -name '*.txt' -exec grep 'sometext' '{}' \; -print
Run Code Online (Sandbox Code Playgroud)

这是我的要求:

  • 限制到文件扩展名(我使用SVN,不想搜索所有这些.svn目录)
  • 可以默认为当前目录,但能够指定不同的目录是很好的
  • 必须是递归的

更新:到目前为止,这是我最好的解决方案:

grep -r 'sometext' * --include='*.txt'
Run Code Online (Sandbox Code Playgroud)

更新#2:在使用grep之后,我意识到我更喜欢第一种方法的输出.所以,我按照几个响应者的建议,简单地制作了一个shell脚本,现在我用两个参数(扩展名和要查找的文本)调用它.

Ces*_*arB 9

grep具有-r(递归)和--include(仅搜索与模式匹配的文件和目录).