Você precisa alterar sua cotação entre aspas duplas para permitir que $2
e $3
sejam expandidos para sua string de pesquisa:
#/usr/bin/env bash
grep "$2.*$3\|$3.*$2" $1
Uma explicação melhor está aqui:
Então eu quero passar 2 strings e filename da linha de comando e procurar por ambas as strings no arquivo.
Exemplo de entrada: script.sh file.txt AB 78
Exemplo de saída: 001,AB,cse,78
(onde o arquivo tem essa linha entre outras que não combinam)
Minha tentativa:
'#/usr/bin/env bash'
'grep '$2.*$3\|$3.*$2' $1'
No entanto, isso não funciona. Alguém pode ajudar?
Você precisa alterar sua cotação entre aspas duplas para permitir que $2
e $3
sejam expandidos para sua string de pesquisa:
#/usr/bin/env bash
grep "$2.*$3\|$3.*$2" $1
Uma explicação melhor está aqui:
Tags grep shell-script