¿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.

Sod Todopoderoso
fuente
¿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

quizdog
fuente
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.

Sod Todopoderoso
fuente
¿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

manjesh23
fuente
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