我想在终端中发出命令时在行尾传递一个参数。
所以我想要类似下面的例子
find /path/to/directory -type f -exec grep -irl "SEARCH_PATTERN" {} \;
类似这样的格式:
find /path/to/directory -type f -exec grep -irl "$1" {} \; < "SEARCH_PATTERN"
这样我就不必每次都去更改部分中的命令 -irl "SEARCH_PATTERN"
。相反,我只需在行末更轻松地给出它即可。
提前致谢
答案1
创建函数:
mygrep() { find /path -type f -exec grep -irl "$1" {} +; }
mygrep waldo
实际上,你为什么甚至需要find
?
mygrep() { grep -irl "$1" /path; }
答案2
对于这种特殊情况,我现在唯一能想到的就是创建一个 SEARCH_PATTERN 环境变量,并在每次想要使用它时改变它。
简单示例;
$ SEARCH_PAT="abc"
$ find /path -type f -exec grep -irl "${SEARCH_PAT}" {} \;
$ SEARCH_PAT="xyz"
$ find /path -type f -exec grep -irl "${SEARCH_PAT}" {} \;
ETC...