¿Qué hace `grep -1`?


0

Estoy tratando de darle sentido al siguiente comando de shell, para obtener una lista de paquetes que se pueden actualizar:

dpkg --get-selections | xargs apt-cache policy {} | grep -1 Installed | sed -r 's/(:|Installed: |Candidate: )//' | uniq -u | tac | sed '/--/I,+1 d' | tac | sed '$d' | sed -n 1~2p

Que grep -1significa No puedo encontrar ninguna mención -1en la página de manual de grep, ni en ninguna otra parte de Internet.


¿Lo sería grep --count?
Prasanna

Respuestas:


4

La -1opción es la opción de estilo tradicional de Unix para indicar que desea grepincluir una 1línea de texto adicional por partido para el contexto .

Si hace un man grepy busca el encabezado Control de línea de contexto , encontrará que las siguientes opciones describirán las diferentes formas en que puede solicitar líneas de contexto adicionales. Específicamente en cuanto a su pregunta, verá:

    -C NUM, -NUM, --context=NUM
        Print NUM lines of output context.  Places a line  containing  a
        group separator (--) between contiguous groups of matches.  With
        the -o or --only-matching option,  this  has  no  effect  and  a
        warning is given.

aquí es donde -1está documentado (como -NUMdonde NUM es 1) para que los siguientes comandos se comporten de la misma manera: grep -1o grep -C 1ogrep --context=1


0

Logré resolverlo mirando los resultados. Especifica cuántas líneas anteriores y posteriores (de "contexto") mostrar para cada coincidencia. Entonces, en este caso particular, grep mostrará la línea anterior y la línea siguiente para cada coincidencia, además de la línea correspondiente.


¿Te refieres a esto? imgur.com/GcNVkDr
Prasanna

Se muestra en la página de manual y el mensaje de uso como -NUMy la información como -num.
dave_thompson_085

0

Esto no se llama nada grep -1, si va a la terminal y escribe grep --helpno encuentragrep -1


Lo encontraras -NUM. Entonces esta respuesta es incorrecta.
DavidPostill

Perdón por preguntar de nuevo, déjame aclarar esto. grep -1 está en duda sí, pero grep -NUM está disponible no el -1 ¿verdad?
manjesh23

NUMpuede ser reemplazado por cualquier número, por lo que se le permite utilizar -1, -2, -3... ver el resto de las respuestas correctas.
DavidPostill

Te tengo, nunca he usado el comando grep, por lo tanto, man grep para obtener eso. Muchas gracias por explicarlo.
manjesh23
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.