mais arquivo
param1 = "1, deerfntjefnerjfntrjgntrjnvgrvgrtbvggfrjbntr rfr4fv frfftrjgtrignmtignmtyightygjn 2,3,4,5,6,7,8,
rfcmckmfdkckemdio8u548384omxc, mor0ckofcmineucfhcbdjcnedjcnywedpeodl40fcrcmkedmrikmckffmcrffmrfrifmtrifmrifvysdfn "
precisa coincidir com o conteúdo de $ param1 no arquivo
mas não funciona por exemplo
sed -n "/ $ param1 / p" arquivo
ou qualquer arquivo grep $ param1 etc ...
alguma outra solução? talvez com perl?
Respostas:
Difícil de ajudar sem o script exato que você está executando, mas um ponto para verificar:
O valor de "param1" que você publicou contém caracteres de asterisco ("*"). Estes têm um significado especial para sed e grep (e perl, e geralmente em qualquer expressão regular). Para corresponder a esses caracteres como literais, você geralmente precisa "escapar" deles ao incluir uma barra invertida.
Então, ao invés de "aa * b" você precisaria "aa * b". Tente isso primeiro para ver se isso ajuda.
Advertência: O shell também processará um \, portanto, ao usá-lo como um valor de parâmetro, coloque o valor em '', como:
O '' protegerá caracteres especiais do shell.
fonte