uso de argumentos para atalhos para o grep quando a barra invertida é usada

0

Eu gostaria de fazer um atalho para grepping sobre arquivos c ++ e colorir tudo bem. Com base no esta resposta, meu comando ficaria na verdade:

grep --color=auto -rn  "$(printf %q 'Pipeline \')" | grep --color=auto -e "\.cc" -e "\.h" |  grep --color=auto "$(printf %q 'Pipeline \')"

Eu estava tentando fazer isso como uma função que usa o parâmetro de pesquisa como entrada:

grepcc(){
     grep --color=auto -rn  "$(printf %q $1)" | grep --color=auto -e "\.cc" -e "\.h" |  grep --color=auto "$(printf %q $1)"
}

Mas isso não funciona (por exemplo, chamando grepcc 'Pipeline \' ). Como faço para passar os argumentos para uma função corretamente neste caso? $ 1 no escopo da função está retornando algo como 'Pipeline' ou 'Pipeline'?

Uma linha de exemplo em um arquivo com a extensão .cc ou .h que deve ser encontrada com o comando:

std::string cutFlowHistTitle("Cut Flow for Pipeline \"" + setting.GetName() + "\"");

, onde "Pipeline \" deve ser destacado.

    
por greyxray 02.10.2018 / 13:13

0 respostas