如何在linux命令的行末传递参数

如何在linux命令的行末传递参数

我想在终端中发出命令时在行尾传递一个参数。

所以我想要类似下面的例子

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...

相关内容