Você pode expressar essas condições usando expressões regulares e usar grep
para filtrar os resultados com base nesses termos.
O primeiro é ^?
. O quilate é um caractere especial que representa o início de uma linha; para que a expressão corresponda ao início da linha imediatamente seguida por ?
.
O segundo é ^ *\*
. O *
é um caractere especial que qualifica o caractere precedente - significa que o caractere precedente pode aparecer zero ou mais vezes. Como *
é um caractere especial, o que você está procurando precisa ser evitado, portanto, \*
. Assim, essa expressão corresponderá ao início de uma linha seguida por zero ou mais espaços, seguidos por um asterisco.
Para sua primeira condição, use a opção -v
para grep
para negar os resultados.
Então, finalmente,
svn status --show-updates | grep -v '^?'
ou
svn status --show-updates | grep '^ *\*'
Expressões regulares são muito poderosas, então muitas ferramentas Unix podem usá-las. Eles valem muito a pena aprender. Existe um ótimo tutorial em regular-expressions.info .