Como passar parâmetro no comando linux no final da linha

Como passar parâmetro no comando linux no final da linha

Gostaria de passar um parâmetro no final da linha enquanto dou um comando no terminal.

Então eu gostaria de algo como o exemplo abaixo

find /path/to/directory -type f -exec grep -irl "SEARCH_PATTERN" {} \;

algo como este formato:

find /path/to/directory -type f -exec grep -irl "$1" {} \; < "SEARCH_PATTERN"

e assim não preciso ir toda vez mudar o comando da -irl "SEARCH_PATTERN"peça. Em vez disso, darei mais facilmente no final da linha.

desde já, obrigado

Responder1

Crie uma função:

mygrep() { find /path -type f -exec grep -irl "$1" {} +; }

mygrep waldo

Na verdade, por que você precisa find?

mygrep() { grep -irl "$1" /path; }

Responder2

A única coisa em que consigo pensar agora, para este caso específico, é criar uma variável de ambiente SEARCH_PATTERN e arriscá-la sempre que quiser usá-la.

Exemplo rápido;

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

informação relacionada