¿Cómo puedo contar las palabras de las primeras 3
líneas?
aporte:
There are many systems which are Unix-like in their architecture.
Not able among these are the GNU/Linux distributions.
The distinctions between Unix and Unix-like systems.
For distinctions between SUS branded UNIX architectures and other similar architectures, see Unix-like.
producción:28
Respuesta1
Usando awk de una sola línea:
awk ' { gsub("[-/]"," ") } NR<4 { w+=NF };END { print w }' <filename>
Respuesta2
$ head -n 3 file | tr -s '/ -' '\n\n\n' | wc -l
28
El recuento 28
parece ser el que obtendría para las primeras tres líneas del texto dado si delimita las palabras con espacios, guiones y barras.
El comando anterior dividirá las tres primeras líneas en una palabra por línea reemplazando cada espacio, guión y barra con una nueva línea (y eliminando varias líneas nuevas consecutivas usando la -s
opción con tr
), y luego contará el número de líneas producidas por esta división. .
Si usas el más natural head -n 3 file | wc -w
, obtendrás 25
palabras. Esto se debe a que wc -w
solo cuenta palabras delimitadas por espacios en blanco y consideraría ambas Unix-Like
y GNU/Linux
como una sola palabra.
Respuesta3
Con GNU grep
o compatibles:
<myfile head -n 3 | grep -aEo '\w+' | wc -l
palabrassiendo en ese caso secuencias de uno o más caracteres alfanuméricos o guiones bajos.
Respuesta4
head -n 4 myfile | wc -w
myfile es un archivo de entrada, 4 son las primeras 4 líneas