很多时候我需要从一个目录和下面搜索所有具有特定类型的文件中的模式。例如,我需要问grep不要查看* .h,* .cpp或* .c以外的文件。但如果我输入:需要组合grep和find的别名
grep -r pattern .
它会查看所有文件。如果我输入:
grep -r pattern *.c
它会尝试(在我的情况下,没有文件夹)在当前文件夹中的* .c文件(在我的情况下,没有文件),文件中的* .c文件夹。我想问它也查看所有文件夹,但只能查看给定类型的文件。我认为grep不足以用于此目的。所以,我也可以通过查找来获得帮助,例如:
grep pattern `find . -name '*c'`
首先,让我知道我是否正确地从寻找中获得帮助。可以grep够了吗?其次,我喜欢写一个别名像这样使用bash下
mygrep pattern c
被翻译成相同的命令避免'和'使用和简单。我想:
alias mygrep="grep $1 `find . -name '*$2'`"
但它不工作,并发出错误:
grep: c: No such file or directory
我试图改变它,但我不能成功,一个成功的别名。
有什么想法?
只搜索特定的文件类型'grep -r --include ='* .c''pattern'' ..还有其他选项,像'--exclude'和' - -exclude-dir' ..在任何情况下,如回答,使用函数代替别名 – Sundeep