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 -c

45. 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 -c

46. 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 ";" | uniq

Administració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 Paco

Bú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/empleados

Eliminar 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 | uniq

Mostrar registros únicos (no repetidos)

Muestra solo las líneas del archivo dir1/final que aparecen exactamente una vez.

cat dir1/final | uniq -u

Contar 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 -c

Mostrar 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 -d

Extracció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,2

Clasificar 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/empleados

Filtrado 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/empleados
Bú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/empleados
Excluir patrones: Muestra todo excepto las líneas que contienen "viudo".
grep -v viudo dir1/empleados
Búsqueda de múltiples palabras (OR lógico): Muestra líneas que contienen "casado" O "soltero".
grep -E "casado|soltero" dir1/empleados
Bú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/empleados
Bú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/empleados

Gestión de Directorios y Archivos

Borrar directorios vacíos

rmdir NombreDirectorio

Crear archivos en directorios

Crea contenido y lo redirige al archivo especificado.

cat > NombreArchivo/NombreArchivo

Copiar archivo a otro directorio

cp dir3/texto1 dir4

Copiar 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/dir11

Cambiar el propietario de una estructura de archivos

sudo chown NombreUsuario dir1/dir11/texto2

Cambiar el grupo de una estructura de archivos

sudo chgrp NombreUsuario dir1/dir11/texto

Fusionar archivos

Concatena carta1 y carta2 en un nuevo archivo llamado carta3.

cat dir1/carta1 dir2/carta2 > dir2/carta3

Listar archivos y directorios paginado

Listado largo y recursivo, paginado con more.

ls -lR | more

Ordenar 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/carta33

Para ordenar al revés:

sort -r dir3/carta33

Ordenamiento Numérico con sort

Ordenar números de mayor a menor

sort -nr dir1/numeros

Ordenar números de menor a mayor

sort -n dir1/numeros

Bú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 -print

Buscar archivos accedidos recientemente

Busca archivos accedidos hace menos de 3 días (-3).

find /home -atime -3 -type f -print

Entradas relacionadas: