/ / cuente cadenas duplicadas y coloque el número al inicio del archivo de salida: windows, perl, duplicados, ubuntu-11.10

cuente cadenas duplicadas y coloque el número al inicio del archivo de salida: windows, perl, duplicados, ubuntu-11.10

¿Qué comando con perl me permitiría contar líneas? en el archivo de salida debe estar al comienzo de la línea cuántas veces aparecieron las líneas contiguas en un archivo ordenado anterior utilizado como entrada.

Ejemplo de entrada:

line 1
line 2
line 2
line 2
line 3
line 3
line 3

salida

1= line 1
3= line 2
3= line 3

Respuestas

2 para la respuesta № 1

En un perl de una sola línea:

perl -ne "$c{$_}++; END {print "$c{$_}= $_" for keys %c}" your_file

Si desea transmitir los resultados de un archivo ordenado para que permanezca en orden y no se cargue por completo en la memoria:

perl -ne "if (defined $l && $l ne $_) {print "$c= $l"; $c=0} $l=$_;$c++; END{print "$c= $l"}" your_file