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.