samsung resetear reparar prime micro gparted formatear duro disco desde con como linux bash unix grep

linux - resetear - ¿Cómo puedo formatear mi salida grep para mostrar los números de línea al final de la línea y también el recuento de visitas?



formatear usb linux ubuntu (8)

Estoy usando grep para hacer coincidir la cadena en un archivo. Aquí hay un archivo de ejemplo:

example one, example two null, example three, example four null,

grep -i null myfile.txt devuelve

example two null, example four null,

¿Cómo puedo devolver las líneas coincidentes junto con sus números de línea como este:

example two null, - Line number : 2 example four null, - Line number : 4 Total null count : 2

Sé que -c devuelve el total de líneas coincidentes, pero no sé cómo formatearlo correctamente para agregar el total null count al frente, y no sé cómo agregar los números de línea.

¿Que puedo hacer?


Consulte este enlace para el comando linux linux http://linuxcommand.org/man_pages/grep1.html

para mostrar la línea no, la línea de código y el archivo, use este comando en su terminal o cmd, GitBash (Powered by terminal)

grep -irn "YourStringToBeSearch"


O use awk lugar:

awk ''/null/ { counter++; printf("%s%s%i/n",$0, " - Line number: ", NR)} END {print "Total null count: " counter}'' file


Solo pensé en algo que podría ayudarte en el futuro. para buscar múltiples cadenas y números de línea de salida y navegar a través de la salida, escriba:

egrep -ne ''null | three''

Mostrará:
2: ejemplo dos nulo,
3: ejemplo tres,
4: ejemplo cuatro nulo,

egrep -ne ''null | three'' | Menos

mostrará la salida en una sesión menos

HTH Jun


Utilice -n o --line-number .

Echa un vistazo a man grep para muchas más opciones.


o en perl (para completar ...):

perl -npe ''chomp; /null/ and print "$_ - Line number : $./n" and $i++;$_="";END{print "Total null count : $i/n"}''


use grep -n -i null myfile.txt para generar el número de línea delante de cada coincidencia.

No creo que grep tenga un interruptor para imprimir el recuento del total de líneas coincidentes, pero puede simplemente canalizar la salida de grep en wc para lograr eso:

grep -n -i null myfile.txt | wc -l


-n devuelve el número de línea.

-i es para ignorar el caso. Sólo se utiliza si no es necesario la coincidencia de casos

$ grep -in null myfile.txt 2:example two null, 4:example four null,

Combine con awk para imprimir el número de línea después del partido:

$ grep -in null myfile.txt | awk -F: ''{print $2" - Line number : "$1}'' example two null, - Line number : 2 example four null, - Line number : 4

Utilice la sustitución de comandos para imprimir el recuento total de nulos:

$ echo "Total null count :" $(grep -ic null myfile.txt) Total null count : 2


grep encuentra las líneas y genera los números de línea, pero no te permite "programar" otras cosas. Si desea incluir texto arbitrario y hacer otra "programación", puede usar awk,

$ awk ''/null/{c++;print $0," - Line number: "NR}END{print "Total null count: "c}'' file example two null, - Line number: 2 example four null, - Line number: 4 Total null count: 2

O solo usando el shell (bash / ksh)

c=0 while read -r line do case "$line" in *null* ) ( ((c++)) echo "$line - Line number $c" ;; esac done < "file" echo "total count: $c"