Colección de Comandos Esenciales de Shell para Gestión de Datos y Archivos
Clasificado en Informática
Escrito el en
español con un tamaño de 6,82 KB
A continuación, se presenta una recopilación de comandos útiles para la manipulación de datos, ordenamiento, filtrado y administración básica de archivos en un entorno de línea de comandos (shell).
Consultas y Procesamiento de Registros
43. Obtener registros de alumnos, ordenarlos por nombre y contar por curso
Este comando filtra registros, los ordena por el segundo campo (asumiendo que el separador es ';'), extrae el tercer campo (curso) y cuenta las ocurrencias únicas.
Grep Bilbao cursos | sort -t ";" +0 --1 | cut -d ";" --f3 | uniq -c45. Listar cursos por aula
Filtra el fichero clases para el aula '001', extrae el tercer campo (aula) y cuenta las ocurrencias.
Grep 001 clases | ant -d ";" -f3 | uniq -c46. Ver estudios por curso sin repeticiones y ordenados
Extrae los campos 3 (curso) y 4 (estudio) del fichero clases, los ordena y elimina duplicados.
Cut -d ";" -f 3,4 clases | sort -t ";" | uniqAdministración de Usuarios
47. Cambiar el nombre de un usuario
Cambia el nombre del usuario 'Paco' a 'Paquito'. Requiere permisos de superusuario.
sudo usermod -l Paquito PacoBúsqueda y Visualización de Contenido
48. Buscar ficheros que comienzan por "c" y mostrar su contenido
Busca recursivamente en el directorio personal archivos que empiecen por 'c', los lista e inmediatamente muestra su contenido.
Find personal "c*" -type f -print -exec cat {} \;Operaciones con sort y uniq
Clasificar un archivo sobre el mismo archivo y no perderlo
Ordena el contenido del archivo dir1/empleados y guarda el resultado en el mismo archivo.
sort -o dir1/empleados dir1/empleadosEliminar líneas repetidas, mostrando solo una instancia
Ordena el archivo usando ';' como separador y luego elimina las líneas duplicadas, dejando solo una ocurrencia.
sort -t ";" dir1/empleados | uniqMostrar registros únicos (no repetidos)
Muestra solo las líneas del archivo dir1/final que aparecen exactamente una vez.
cat dir1/final | uniq -uContar ocurrencias de cada línea
Cuenta cuántas veces aparece cada línea en dir1/final, anteponiendo el número de ocurrencias.
cat dir1/final | uniq -cMostrar solo las líneas repetidas (una vez)
Muestra las líneas que están duplicadas en dir1/final, pero solo una vez por cada valor repetido.
cat dir1/final | uniq -dExtracción de Campos con cut
Extraer el primer y segundo campo
Muestra el primer y segundo campo del archivo dir1/final, utilizando ';' como delimitador.
cat dir1/final | cut -d ";" -f 1,2Clasificar alfabéticamente por el primer campo
Ordena el archivo dir1/empleados basándose en el primer campo (índice 0 hasta 2 caracteres), usando ';' como separador.
sort -t ";" +0 -2 dir1/empleadosFiltrado avanzado con grep
La utilidad grep permite buscar patrones de texto dentro de archivos.
- Búsqueda sensible a mayúsculas/minúsculas: Busca todas las líneas que contengan "ana".
grep ana dir1/empleadosBúsqueda insensible a mayúsculas/minúsculas: Usando la opción -i (implícita en el ejemplo original con -y, aunque -i es el estándar).grep -i ana dir1/empleadosExcluir patrones: Muestra todo excepto las líneas que contienen "viudo".grep -v viudo dir1/empleadosBúsqueda de múltiples palabras (OR lógico): Muestra líneas que contienen "casado" O "soltero".grep -E "casado|soltero" dir1/empleadosBúsqueda con expresiones regulares (Inicio de línea): Muestra líneas que comienzan con 'm' seguido de tres caracteres cualesquiera (representados por puntos en el ejemplo original, que se traducen a . en regex estándar).grep ^m... dir1/empleadosBúsqueda por rango de caracteres: Muestra líneas que comienzan con un carácter entre 'a' y 'f', seguido de cualquier carácter (el punto .).grep ^[a-f]. dir1/empleadosGestión de Directorios y Archivos
Borrar directorios vacíos
rmdir NombreDirectorioCrear archivos en directorios
Crea contenido y lo redirige al archivo especificado.
cat > NombreArchivo/NombreArchivoCopiar archivo a otro directorio
cp dir3/texto1 dir4Copiar con salvaguarda del archivo existente
Copia texto2, si ya existe en el destino, se renombra la versión antigua (backup).
cp -b dir1/dir11/texto2 dir5/dir1/dir11Cambiar el propietario de una estructura de archivos
sudo chown NombreUsuario dir1/dir11/texto2Cambiar el grupo de una estructura de archivos
sudo chgrp NombreUsuario dir1/dir11/textoFusionar archivos
Concatena carta1 y carta2 en un nuevo archivo llamado carta3.
cat dir1/carta1 dir2/carta2 > dir2/carta3Listar archivos y directorios paginado
Listado largo y recursivo, paginado con more.
ls -lR | moreOrdenar fichero alfabéticamente al revés (mediante enlace)
Nota: El comando original parece incorrecto para ordenar al revés. Se asume que el objetivo era ordenar, pero el comando listado es para crear un enlace simbólico o duro.
Creación de un enlace:
ln dir2/carta3 dir3/carta33Para ordenar al revés:
sort -r dir3/carta33Ordenamiento Numérico con sort
Ordenar números de mayor a menor
sort -nr dir1/numerosOrdenar números de menor a mayor
sort -n dir1/numerosBúsquedas Avanzadas con find
Buscar archivos que empiezan por "emp" en /home
Busca archivos (no directorios) que comiencen con 'emp' dentro del directorio /home.
find /home -name 'emp*' -type f -printBuscar archivos accedidos recientemente
Busca archivos accedidos hace menos de 3 días (-3).
find /home -atime -3 -type f -print