hola a todos!!! necesito ayuda con este ejercicio. Espero que alguien me pueda ayudar:
Indica el numero total de usuarios del sistema ( con id de 1 hasta 999).
saludos.
hola a todos!!! necesito ayuda con este ejercicio. Espero que alguien me pueda ayudar:
Indica el numero total de usuarios del sistema ( con id de 1 hasta 999).
saludos.
ok
Creo que esto es lo que pides ;) :
1 #!/bin/bash
2 cont=0
3 while read -r line; do
4 var=`echo "$line" | cut -d':' -f3`
5 if [[ $var -ge 1 && $var -le 999 ]]; then
6 cont=$[$cont+1]
7 fi
8 done < /etc/passwd
9 echo "El número de usuarios con ID entre 1 y 999 es $cont"
gracias
Al final lo consegui, es asi:
cat /etc/passwd |cut -d: -f3 |sort -n | grep -E '^[1-9]{1}$|^[0-9]{2}$|^[0- 9]{3}$'| wc -l
La parte del grep era la que no sabia como hacerla. Gracias de todos modos.
Yo creo que no deberíamos
Yo creo que no deberíamos estar haciéndote la tarea.
"Yo sólo se que no se nada"
-Sócrates, filósofo griego.
-Normas del foro
Mi método
Si, aptree puedes hacerlo asi, pero como no estaba seguro de si querias el nº total de lineas, o imprimir el contenido de las lineas, lo hice de esa manera.
De esta forma si en un futuro quieres imprimir las lineas que coincidan con lo que buscas, con quitar el contador y poner un echo "$line" te basta, o si quieres imprimir el nombre de los usuarios que coinciden le haces un pipe al awk y ya esta.
Y sin cambiar la estructura del script :) .
Nota: Jose Luis 1320 tienes razón, pero creo que ya es problema de quien pregunta, si prefiere copiar la tarea no aprenderá nunca, solo se perjudica a él mismo.
Saludos.