Examen de Práctica LPIC-1 Test Procesamiento de Texto y Flujos
1. ¿Qué opción de cat permite numerar solo las líneas que no están en blanco?
A) -n
B) -b
C) --number
D) --show-nonblank
Respuesta correcta: B. (-b es para numerar las líneas de salida no vacías. -n numera todas las líneas).
2. ¿Cuál de las siguientes combinaciones muestra el contenido de un archivo con cat y marca el final de cada línea con el símbolo $?
A) cat -e archivo.txt
B) cat -E archivo.txt
C) cat -A archivo.txt
D) cat -v archivo.txt
Respuesta correcta: B. (Aunque -e a veces funciona como alias de -vE, -E es la opción explícita para mostrar los finales de línea).
3. ¿Qué comando permite visualizar un archivo de texto con paginación y búsqueda hacia atrás utilizando la tecla ??
A) more
B) less
C) cat
D) tail -f
Respuesta correcta: B.
4. En less, ¿qué tecla se usa para ir directamente al final del archivo?
A) E
B) :
C) G
D) $
Respuesta correcta: C. (g va al inicio, G al final).
5. ¿Qué comando muestra las primeras 20 líneas de un archivo sin modificar su contenido?
A) head archivo.txt
B) head -n 20 archivo.txt
C) head -20 archivo.txt
D) Todas las anteriores
Respuesta correcta: D. (La opción -n 20 y -20 son formas válidas, si se omite -n el valor por defecto es 10 líneas, por lo que A no es correcta para 20 líneas, pero el texto incluye -n 20 y -20 que son correctas, por lo que D es la mejor respuesta ya que A no está completa) **Corrección del documento original**: En LPIC, se considera que **B** y **C** son correctas. **A** es incorrecta ya que el valor predeterminado es 10 líneas. Asumiendo que el test acepta atajos, la respuesta es **D**.
6. ¿Qué opción de tail muestra el archivo en tiempo real, actualizándose cuando se agregan nuevas líneas?
A) -r
B) -n
C) -f
D) --append
Respuesta correcta: C. (-f o --follow).
7. Para mostrar las últimas 50 líneas de un archivo y seguir añadiendo en tiempo real, ¿cuál sería el comando correcto?
A) tail -f -n 50 archivo.log
B) tail -f50 archivo.log
C) tail -50f archivo.log
D) tail -fn50 archivo.log
Respuesta correcta: D. (La combinación de opciones cortas a veces permite omitir el espacio y el guion, aunque **A** también es completamente válida).
8. ¿Qué opción de cut permite definir el delimitador de campos?
A) -f
B) -d
C) -c
D) --delimiter
Respuesta correcta: B. (-d o --delimiter).
9. Si tienes un archivo CSV y deseas mostrar solo el segundo campo, ¿cuál comando es correcto?
A) cut -f2 archivo.csv
B) cut -d',' -f2 archivo.csv
C) cut -c2 archivo.csv
D) awk '{print $2}' archivo.csv
Respuesta correcta: B. (Se debe especificar la coma como delimitador con -d, y luego el campo con -f).
10. ¿Qué hace el comando cut -c5-10 archivo.txt?
A) Extrae las columnas 5 a 10 de cada campo delimitado
B) Muestra los caracteres 5 a 10 de cada línea
C) Elimina los caracteres 5 a 10
D) Corta líneas con más de 10 caracteres
Respuesta correcta: B. (-c corta por carácter, -f corta por campo).
11. ¿Qué opción de sort realiza la ordenación numérica correctamente?
A) -n
B) -r
C) -u
D) -t
Respuesta correcta: A.
12. ¿Cómo se ordena un archivo CSV por el tercer campo, usando ; como delimitador?
A) sort -t';' -k3 archivo.csv
B) sort -d';' -f3 archivo.csv
C) sort -k3 archivo.csv
D) sort -s -t';' -c3 archivo.csv
Respuesta correcta: A. (-t define el delimitador y -k define la clave/campo para ordenar).
13. ¿Qué hace sort -u archivo.txt?
A) Muestra solo líneas únicas sin ordenar
B) Ordena y elimina duplicados consecutivos
C) Ordena y elimina todas las líneas duplicadas
D) Solo muestra duplicados
Respuesta correcta: C. (-u es equivalente a sort | uniq).
14. En uniq, ¿qué opción muestra solo las líneas duplicadas?
A) -d
B) -u
C) -D
D) --only-duplicates
Respuesta correcta: A. (-d muestra las líneas que están duplicadas, solo una vez. -D muestra todas las apariciones de las líneas duplicadas).
15. ¿Qué comando cuenta cuántas veces se repite cada línea en un archivo y las muestra ordenadas por frecuencia?
A) uniq -c archivo.txt | sort -n
B) wc -l archivo.txt | sort
C) sort archivo.txt | uniq -c | sort -n
D) uniq archivo.txt | wc -l
Respuesta correcta: C. (Se debe **sort** primero, luego **uniq -c** para contar, y finalmente **sort -n** para ordenar por la columna de conteo).
16. wc -m archivo.txt devuelve:
A) Número de líneas
B) Número de palabras
C) Número de caracteres
D) Número de bytes
Respuesta correcta: C. (-c para bytes, -m para caracteres).
17. ¿Cuál comando muestra el número total de líneas, palabras y bytes de un archivo?
A) wc -c archivo.txt
B) wc archivo.txt
C) wc -l archivo.txt
D) wc -w archivo.txt
Respuesta correcta: B. (wc sin opciones muestra los tres).
18. El comando tee se usa principalmente para:
A) Redirigir la salida estándar a múltiples archivos
B) Filtrar texto
C) Contar líneas
D) Copiar archivos
Respuesta correcta: A. (Permite duplicar el flujo de datos: uno a la salida estándar y otro a uno o más archivos).
19. ¿Qué hace echo "test" | tee a.txt b.txt?
A) Guarda "test" en el primer archivo únicamente
B) Muestra "test" por pantalla y lo escribe en ambos archivos
C) Escribe solo en el segundo archivo
D) Da error por múltiples archivos
Respuesta correcta: B. (Esa es la función principal de tee: pasar el dato y guardarlo).
20. ¿Qué opción de grep muestra solo las líneas que **no** coinciden con el patrón?
A) -r
B) -v
C) -i
D) -n
Respuesta correcta: B. (-v o --invert-match).
21. ¿Qué opción de grep permite ignorar mayúsculas y minúsculas al buscar coincidencias?
A) -r
B) -i
C) -v
D) -n
Respuesta correcta: B. (-i o --ignore-case).
22. ¿Cuál comando muestra el número de línea junto al texto coincidente en grep?
A) grep -l
B) grep -c
C) grep -n
D) grep -H
Respuesta correcta: C. (-n o --line-number).
23. El comando grep -E 'foo|bar' archivo.txt busca:
A) Solo “foo”
B) Solo “bar”
C) “foo” o “bar”
D) “foo” seguido de “bar”
Respuesta correcta: C. (-E activa las expresiones regulares extendidas, permitiendo el operador OR '|').
24. ¿Qué diferencia existe entre grep -E y grep -F?
A) -E usa expresiones regulares extendidas, -F busca texto literal
B) -F usa regex extendidas, -E busca texto literal
C) -E busca palabras exactas, -F ignora comillas
D) No hay diferencia práctica
Respuesta correcta: A. (-F o fixed-strings es para texto literal, ignorando los metacaracteres de regex).
25. Para buscar recursivamente una cadena dentro de todos los archivos de un directorio, ¿cuál es el comando correcto?
A) grep -r "cadena" /ruta
B) grep -R "cadena" /ruta
C) Ambas son válidas
D) Ninguna de las anteriores
Respuesta correcta: C. (-r y -R suelen ser sinónimos o casi idénticos en la mayoría de las implementaciones de grep).
26. ¿Cómo se muestra solo el nombre de los archivos que **contienen** una coincidencia?
A) grep -n
B) grep -l
C) grep -L
D) grep -o
Respuesta correcta: B. (-l o --files-with-matches).
27. ¿Cuál opción de grep muestra solo las coincidencias encontradas, no toda la línea?
A) -o
B) -v
C) -m
D) -n
Respuesta correcta: A. (-o o --only-matching).
28. grep -A 3 "error" archivo.log muestra:
A) Solo las líneas que contienen “error”
B) 3 líneas **antes** de la coincidencia
C) 3 líneas **después** de cada coincidencia
D) 3 líneas antes y después
Respuesta correcta: C. (-A o --after-context).
29. grep -B 2 "fail" archivo.log muestra:
A) Coincidencias con 2 líneas anteriores
B) Coincidencias con 2 líneas posteriores
C) Solo las líneas que no coinciden
D) Coincidencias agrupadas por bloque
Respuesta correcta: A. (-B o --before-context).
30. grep -C 2 "fail" archivo.log mostrará:
A) 2 líneas antes y 2 después de cada coincidencia
B) Solo la línea coincidente
C) Coincidencias con formato de contexto
D) Ninguna, opción inválida
Respuesta correcta: A. (-C o --context).
31. El comando sed 's/foo/bar/' archivo.txt reemplaza:
A) Todas las apariciones de foo por bar en cada línea
B) Solo la primera aparición de foo por bar en cada línea
C) Solo si foo está al inicio
D) Solo si foo está al final
Respuesta correcta: B. (Sin el flag 'g', sed solo afecta la primera coincidencia por línea).
32. ¿Cómo se reemplazan **todas** las apariciones de “foo” por “bar”?
A) sed 's/foo/bar/g' archivo.txt
B) sed 'r/foo/bar/' archivo.txt
C) sed 's/foo/bar/a' archivo.txt
D) sed 'replace/foo/bar/' archivo.txt
Respuesta correcta: A. (El flag 'g' (global) aplica la sustitución a todas las coincidencias en la línea).
33. En sed, ¿qué significa la -i?
A) Inserta texto en cada línea
B) Realiza el cambio in situ, modificando el archivo original
C) Ignora mayúsculas
D) Interpreta expresiones extendidas
Respuesta correcta: B.
34. sed -n '5,10p' archivo.txt muestra:
A) Solo líneas 5 a 10
B) Todo el archivo menos las líneas 5–10
C) Solo la línea 5
D) Desde la línea 10 hasta el final
Respuesta correcta: A. (-n suprime la impresión automática; '5,10p' imprime las líneas 5 a 10).
35. ¿Cuál comando elimina las líneas vacías de un archivo?
A) sed '/^$/d' archivo.txt
B) grep -v '^$' archivo.txt
C) awk NF archivo.txt
D) Todas las anteriores
Respuesta correcta: D. (Las tres opciones son válidas para eliminar/excluir líneas vacías).
36. sed '1,3d' archivo.txt hace:
A) Elimina las líneas del 1 al 3
B) Duplicar líneas 1 a 3
C) Muestra solo las líneas 1–3
D) Sustituye 1 por 3
Respuesta correcta: A. (El comando 'd' en sed es para delete/eliminar).
37. ¿Cómo eliminar espacios en blanco al final de cada línea con sed?
A) sed 's/ *$//' archivo.txt
B) sed 's/^ *//' archivo.txt
C) sed 's/$ *//' archivo.txt
D) sed 's/ $//' archivo.txt
Respuesta correcta: A. ('s/pattern/replace/' con '*' para cero o más espacios y '$' para el final de línea).
38. En awk, el separador de campos predeterminado es:
A) ,
B) Espacio o tabulación
C) :
D) ;
Respuesta correcta: B. (Cualquier cantidad de espacios o tabulaciones, por defecto).
39. El comando awk '{print $1}' archivo.txt muestra:
A) El primer campo de cada línea
B) La primera línea del archivo
C) El número total de campos
D) El primer carácter de cada línea
Respuesta correcta: A. ($1 es el primer campo).
40. ¿Qué hace awk -F: '{print $1,$3}' /etc/passwd?
A) Usa “:” como delimitador y muestra campo 1 y 3
B) Cuenta el número de campos
C) Reemplaza “:” por espacio
D) Muestra solo líneas con 3 campos
Respuesta correcta: A. (-F define el separador de campo).
41. En awk, $0 representa:
A) El último campo
B) La línea completa actual
C) El número de línea
D) El número total de campos
Respuesta correcta: B.
42. awk 'NR==10' archivo.txt mostrará:
A) Las 10 primeras líneas
B) Solo la línea 10
C) Desde la línea 10 en adelante
D) Líneas con 10 campos
Respuesta correcta: B. (NR es el número de registro/línea; la condición muestra solo la línea donde NR es igual a 10).
43. ¿Cómo sumar el segundo campo de un archivo numérico con awk?
A) awk '{s+=$2} END {print s}' archivo.txt
B) awk '{sum=$2} END {print sum}' archivo.txt
C) awk 'BEGIN{s=0}{s=$2}END{print s}' archivo.txt
D) awk '{print $2+$2}' archivo.txt
Respuesta correcta: A. (Se acumula el valor en la variable 's' para cada línea, y se imprime el resultado al final con END).
44. ¿Qué hace awk 'NF > 3' archivo.txt?
A) Muestra líneas con más de 3 campos
B) Elimina líneas con menos de 3 campos
C) Cuenta líneas con más de 3 campos
D) Solo muestra 3 campos
Respuesta correcta: A. (NF es el número total de campos; si la condición es verdadera, awk imprime la línea por defecto).
45. El comando awk 'BEGIN{FS=","} {print $2}' archivo.csv hace:
A) Usa coma como separador y muestra el segundo campo
B) Elimina comas
C) Cuenta comas
D) Ignora campos vacíos
Respuesta correcta: A. (BEGIN se usa para establecer variables antes de procesar el archivo; FS es Field Separator).
46. tr '[:lower:]' '[:upper:]' convierte:
A) Mayúsculas a minúsculas
B) Minúsculas a mayúsculas
C) Espacios a guiones
D) Caracteres numéricos en letras
Respuesta correcta: B.
47. ¿Qué hace tr -d '\n'?
A) Reemplaza saltos de línea por espacios
B) Elimina saltos de línea
C) Duplica saltos de línea
D) Sustituye por tabulaciones
Respuesta correcta: B. (-d es para delete/eliminar).
48. Para reemplazar espacios por tabulaciones, ¿cuál comando es correcto?
A) tr ' ' '\t'
B) tr '\t' ' '
C) tr '\n' '\t'
D) tr '\t' '\n'
Respuesta correcta: A.
49. tr -s ' ' tiene como efecto:
A) Sustituir espacios por saltos de línea
B) Comprimir secuencias de espacios múltiples a uno solo
C) Suprimir espacios
D) Mostrar solo espacios
Respuesta correcta: B. (-s o --squeeze-repeats).
50. ¿Qué hace tr -cd '0-9\n'?
A) Elimina todos los caracteres excepto dígitos y saltos de línea
B) Sustituye números por texto
C) Convierte dígitos a letras
D) Reemplaza dígitos por comas
Respuesta correcta: A. (-c invierte el set1, -d elimina el set1 invertido. Es decir, borra todo lo que NO esté en '0-9\n').
51. El comando xargs se utiliza para:
A) Dividir líneas largas
B) Construir y ejecutar comandos a partir de la entrada estándar
C) Mostrar argumentos de una función
D) Buscar texto dentro de archivos
Respuesta correcta: B.
52. ¿Qué hace find . -name "*.txt" | xargs rm?
A) Borra todos los archivos .txt del directorio actual
B) Busca archivos .txt y los imprime
C) Crea un archivo con lista .txt
D) No hace nada sin permisos root
Respuesta correcta: A. (Toma la salida de find (lista de archivos) y se la pasa a rm como argumentos).
53. xargs -n 2 echo hará que:
A) Ejecute echo con 2 argumentos por línea
B) Divida cada palabra en 2 líneas
C) Muestre los dos primeros argumentos solamente
D) Ejecute dos veces cada argumento
Respuesta correcta: A. (-n limita el número de argumentos que se pasan al comando por cada ejecución).
54. xargs -p sirve para:
A) Ejecutar en paralelo
B) Pedir confirmación antes de cada ejecución
C) Mostrar progreso
D) Imprimir sin ejecutar
Respuesta correcta: B.
55. ¿Qué hace echo "file1 file2" | xargs -t rm?
A) Muestra el comando antes de ejecutarlo
B) Borra sin mostrar nada
C) Ejecuta en modo silencioso
D) No realiza acción alguna
Respuesta correcta: A. (-t muestra el comando generado en stderr antes de ejecutarlo).
56. ¿Cómo se combina find con xargs para evitar errores con nombres que contienen espacios?
A) find . -print | xargs
B) find . -print0 | xargs -0
C) find . -iname | xargs -s
D) find . -type f | xargs
Respuesta correcta: B. (-print0 usa el carácter nulo como delimitador, y xargs -0 lo lee correctamente).
57. xargs -I {} echo Archivo: {} significa:
A) Sustituye {} por cada argumento de entrada
B) Muestra llaves literales
C) Ejecuta múltiples procesos en paralelo
D) Ignora los argumentos vacíos
Respuesta correcta: A. (-I define una cadena de sustitución que permite colocar el argumento en cualquier parte del comando, no solo al final).
58. ¿Cómo usar grep y xargs juntos para buscar un patrón en múltiples archivos listados en un texto?
A) cat lista.txt | xargs grep "patrón"
B) grep "patrón" < lista.txt
C) grep -f lista.txt patrón
D) xargs < grep "patrón" lista.txt
Respuesta correcta: A. (La lista de archivos es la entrada estándar de xargs, que luego pasa cada nombre de archivo como argumento a grep).
59. ls | grep '\.log$' | xargs gzip hará:
A) Comprime todos los archivos .log del directorio actual
B) Descomprime archivos .log
C) Muestra archivos sin comprimir
D) Copia los .log
Respuesta correcta: A. (La tubería filtra la lista de archivos para quedarse solo con los .log, y xargs los pasa a gzip para comprimirlos).
60. ¿Cuál de los siguientes comandos cuenta el número total de líneas únicas de un archivo grande, de manera eficiente?
A) sort archivo.txt | uniq | wc -l
B) uniq archivo.txt | wc -l
C) wc -l archivo.txt | uniq
D) sort -u archivo.txt | wc -c
Respuesta correcta: A. (uniq solo elimina duplicados si son consecutivos, por lo que es necesario **sort** primero para agruparlos).