GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo generar un archivo e ignorar las líneas que comienzan con "?"?

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.


Linux
  1. Cómo guardar la salida del comando en un archivo en Linux

  2. Cómo grep con salida de color

  3. ¿Cómo redirigir la salida de system() a un archivo?

  4. Cómo eliminar el carácter \r con sed

  5. ¿Cómo rellenar un archivo con FF usando dd?

Cómo mezclar líneas en un archivo en Linux

Cómo invertir líneas en un archivo por caracteres en Linux

¿Cómo agregar la salida a un archivo?

¿Cómo solicito un archivo pero no lo guardo con Wget?

Cómo redirigir la salida del servicio systemd a un archivo

iftop:¿cómo generar un archivo de texto con su salida?