Hago svn status --show-updates y luego quiero
- P1:
ignorar (no mostrar) las líneas que comienzan con? - P2:
muestra solo las líneas que comienzan con*Tenga en cuenta que hay pocos espacios antes de que aparezca *. Eso significa que*no es el primer carácter de la línea.
¿Cómo puedo hacer eso?
Respuesta aceptada:
Puede expresar esas condiciones usando expresiones regulares y usar grep para filtrar los resultados en función de ellos.
El primero es ^? . El quilate es un carácter especial que representa el comienzo de una línea; para que la expresión coincida con el comienzo de la línea seguida inmediatamente por un ? .
El segundo es ^ *\* . El * es un carácter especial que califica al carácter anterior; significa que el carácter anterior puede aparecer cero o más veces. Desde * es un carácter especial, el que está buscando debe escaparse, por lo tanto, \* . Entonces esa expresión coincidirá con el comienzo de una línea seguido de cero o más espacios, seguido de un asterisco.
Para su primera condición, use -v opción para grep para negar los resultados.
Así que finalmente,
svn status --show-updates | grep -v '^?'
o
svn status --show-updates | grep '^ *\*'
Las expresiones regulares son muy poderosas, por lo que muchas herramientas de Unix pueden usarlas. Vale mucho la pena aprenderlos. Hay un gran tutorial en regular-expressions.info.