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

0

Eu gostaria de passar um parâmetro no final da linha enquanto estou dando um comando no terminal.

Então, 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 por este caminho eu não tenho que ir toda vez e mudar o comando na parte -irl "SEARCH_PATTERN" . Em vez disso, vou apenas dar mais facilmente no final da linha.

Obrigado antecipadamente

    
por limitcracker 03.02.2016 / 09:35

2 respostas

2

Crie uma função:

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

mygrep waldo

Na verdade, por que você precisa mesmo de find ?

mygrep() { grep -irl "$1" /path; }
    
por 03.02.2016 / 10:57
0

A única coisa em que posso pensar agora, neste caso em particular, é criar uma variável de ambiente SEARCH_PATTERN e acertar todas as vezes que você 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 ...

    
por 03.02.2016 / 10:47