
Si recién está comenzando su viaje en ciencia de datos, podría pensar que esto es Pitón biblioteca, Júpiter Las computadoras portátiles y los sofisticados algoritmos de aprendizaje automático, si bien son absolutamente importantes, existe un poderoso conjunto de herramientas que a menudo se pasa por alto: la humilde línea de comandos.
He trabajado en sistemas Linux durante más de una década y puedo decirle que dominar estas herramientas de línea de comandos le hará la vida mucho más fácil. Son rápidos, eficientes y, a menudo, la forma más rápida de ver datos, limpiar archivos o automatizar tareas repetitivas.
Para que este tutorial sea práctico y fácil de seguir, utilizaremos un conjunto de datos de ventas de comercio electrónico de muestra en este artículo. Primero déjame mostrarte cómo crearlo y luego lo exploraremos usando las 10 herramientas.
Crear archivo de muestra:
cat > sales_data.csv << 'EOF' order_id,date,customer_name,product,category,quantity,price,region,status 1001,2024-01-15,John Smith,Laptop,Electronics,1,899.99,North,completed 1002,2024-01-16,Sarah Johnson,Mouse,Electronics,2,24.99,South,completed 1003,2024-01-16,Mike Brown,Desk Chair,Furniture,1,199.99,East,completed 1004,2024-01-17,John Smith,Keyboard,Electronics,1,79.99,North,completed 1005,2024-01-18,Emily Davis,Notebook,Stationery,5,12.99,West,completed 1006,2024-01-18,Sarah Johnson,Laptop,Electronics,1,899.99,South,pending 1007,2024-01-19,Chris Wilson,Monitor,Electronics,2,299.99,North,completed 1008,2024-01-20,John Smith,USB Cable,Electronics,3,9.99,North,completed 1009,2024-01-20,Anna Martinez,Desk,Furniture,1,399.99,East,completed 1010,2024-01-21,Mike Brown,Laptop,Electronics,1,899.99,East,cancelled 1011,2024-01-22,Emily Davis,Pen Set,Stationery,10,5.99,West,completed 1012,2024-01-22,Sarah Johnson,Monitor,Electronics,1,299.99,South,completed 1013,2024-01-23,Chris Wilson,Desk Chair,Furniture,2,199.99,North,completed 1014,2024-01-24,Anna Martinez,Laptop,Electronics,1,899.99,East,completed 1015,2024-01-25,John Smith,Mouse Pad,Electronics,1,14.99,North,completed 1016,2024-01-26,Mike Brown,Bookshelf,Furniture,1,149.99,East,completed 1017,2024-01-27,Emily Davis,Highlighter,Stationery,8,3.99,West,completed 1018,2024-01-28,NULL,Laptop,Electronics,1,899.99,South,pending 1019,2024-01-29,Chris Wilson,Webcam,Electronics,1,89.99,North,completed 1020,2024-01-30,Sarah Johnson,Desk Lamp,Furniture,2,49.99,South,completed EOF
¡Ahora exploremos este archivo usando 10 herramientas esenciales!
1. grep: tu herramienta de coincidencia de patrones
Piense en el comando grep como su detective de datos porque busca archivos y encuentra líneas que coinciden con un patrón que usted especifica, lo cual es útil cuando trabaja con archivos de registro grandes o conjuntos de datos de texto.
Ejemplo 1: Encuentra todos los pedidos de Juan Smith.
grep "John Smith" sales_data.csv
Ejemplo 2: Cuente cuántos pedidos de portátiles tenemos.
grep -c "Laptop" sales_data.csv
Ejemplo 3: Encuentra todos los pedidos pendientes.
grep -v "completed" sales_data.csv | grep -v "order_id"
Ejemplo 4: busque pedidos con números de línea.
grep -n "Electronics" sales_data.csv | head -5
2. awk: la navaja suiza del procesamiento de textos
awk es como un mini lenguaje de programación diseñado para el procesamiento de texto y es excelente para extraer columnas específicas, realizar cálculos y transformar datos sobre la marcha.
Ejemplo 1: Extraiga solo el nombre y el precio del producto.
awk -F',' '{print $4, $7}' sales_data.csv | head -6
Ejemplo 2: Calcule los ingresos totales de todos los pedidos.
awk -F',' 'NR>1 {sum+=$7} END {print "Total Revenue: $" sum}' sales_data.csv
Ejemplo 3: Muestra pedidos con un precio superior a $100.
awk -F',' 'NR>1 && $7>100 {print $1, $4, $7}' sales_data.csv
Ejemplo 4: Calcula el precio medio por categoría.
awk -F',' 'NR>1 {
category[$5]+=$7
count[$5]++
}
END {
for (cat in category)
printf "%s: $%.2f\n", cat, category[cat]/count[cat]
}' sales_data.csv

3. sed: editor de secuencias para una edición rápida
sed es la herramienta preferida para operaciones de búsqueda y reemplazo y conversión de texto. Es como hacer "buscar y reemplazar”en un editor de texto, pero desde la línea de comandos es más rápido.
Ejemplo 1: reemplazar Inválido El valor es el mismo que "desconocido".
sed 's/NULL/Unknown/g' sales_data.csv | grep "Unknown"
Ejemplo 2: elimina la fila del encabezado.
sed '1d' sales_data.csv | head -3
Ejemplo 3: Cambiar"completamente" llegar"completo".
sed 's/completed/DONE/g' sales_data.csv | tail -5
Ejemplo 4: Agregue el signo de dólar antes de todos los precios.
sed 's/,\([0-9]*\.[0-9]*\),/,$,/g' sales_data.csv | head -4

4. corte – extracción de columna simple
a pesar de awk Potente, a veces solo necesitas algo simple y rápido, ahí es donde entra el comando cortar, está diseñado específicamente para extraer columnas de archivos delimitados.
Ejemplo 1: Extraiga el nombre del cliente y el producto.
cut -d',' -f3,4 sales_data.csv | head -6
Ejemplo 2: Extrae solo la columna de área.
cut -d',' -f8 sales_data.csv | head -8
Ejemplo 3: Obtenga ID del pedido, producto y estado.
cut -d',' -f1,4,9 sales_data.csv | head -6

5. Ordenar: organice sus datos
Ordenar datos es fundamental para el análisis y el comando ordenar puede hacerlo de manera muy eficiente incluso si el archivo es demasiado grande para caber en la memoria.
Ejemplo 1: Ordenar alfabéticamente por nombre del cliente.
sort -t',' -k3 sales_data.csv | head -6
Ejemplo 2: Ordenar por precio (de mayor a menor).
sort -t',' -k7 -rn sales_data.csv | head -6
Ejemplo 3: Ordenar por región, luego precio.
sort -t',' -k8,8 -k7,7rn sales_data.csv | grep -v "order_id" | head -8

6. uniq: busque y cuente valores únicos
El comando uniq te ayuda a identificar valores únicos, contar apariciones y encontrar duplicados, es como una versión ligera de pandas. value_counts().
uniq Sólo funciona con datos ordenados, por lo que normalmente pipe esta relacionado con sort.
Ejemplo 1: Estadísticas de pedidos por región.
cut -d',' -f8 sales_data.csv | tail -n +2 | sort | uniq -c
Ejemplo 2: Cuente los pedidos por categoría de producto.
cut -d',' -f5 sales_data.csv | tail -n +2 | sort | uniq -c | sort -rn
Ejemplo 3: encuentre qué clientes realizaron varias compras.
cut -d',' -f3 sales_data.csv | tail -n +2 | sort | uniq -c | sort -rn
Ejemplo 4: Muestra productos únicos pedidos.
cut -d',' -f4 sales_data.csv | tail -n +2 | sort | uniq

7. wc – recuento de palabras (y más)
No dejes que el nombre te engañe, wc (Word Count) hace mucho más que contar palabras, es tu herramienta de conteo rápido.
Ejemplo 1: Cuente el número total de pedidos (menos los títulos).
wc -l sales_data.csv
Ejemplo 2: Calcula cuántos pedidos de productos electrónicos hay.
grep "Electronics" sales_data.csv | wc -l
Ejemplo 3: Cuente el número total de caracteres del archivo.
wc -c sales_data.csv
Ejemplo 4: realice múltiples estadísticas a la vez.
wc sales_data.csv

8. cabeza y cola: obtenga una vista previa de sus datos
En lugar de abrir un archivo grande, use el comando head para ver las primeras líneas o tail Mira las últimas fotos.
Ejemplo 1: Ver los primeros 5 pedidos.
head -6 sales_data.csv
Ejemplo 2: Ver sólo los encabezados de las columnas.
head -1 sales_data.csv
Ejemplo 3: Ver los últimos 5 pedidos.
tail -5 sales_data.csv
Ejemplo 4: Saltar el título y ver los datos
tail -n +2 sales_data.csv | head -3

9. buscar: localizar archivos en directorios
Cuando trabaja en proyectos, a menudo necesita buscar archivos dispersos en un directorio, y el comando de búsqueda es muy poderoso para esto.
Primero, creemos una estructura de directorio real:
mkdir -p data_project/{raw,processed,reports}
cp sales_data.csv data_project/raw/
cp sales_data.csv data_project/processed/sales_cleaned.csv
echo "Summary report" > data_project/reports/summary.txt
Ejemplo 1: Encuentra todos los archivos CSV.
find data_project -name "*.csv"
Ejemplo 2: Encuentra archivos modificados en el último minuto.
find data_project -name "*.csv" -mmin -1
Ejemplo 3: busque y cuente el número de filas en todos los archivos CSV.
find data_project -name "*.csv" -exec wc -l {} \;
Ejemplo 4: busque archivos de más de 1 KB.
find data_project -type f -size +1k

10. jq – El extraordinario procesador JSON
En la ciencia de datos moderna, mucha información proviene de las API, que normalmente envían datos a JSON Formato, una forma estructurada de organizar la información.
Aunque herramientas como esta grep, awky sed Excelente para buscar y manipular texto sin formato, jq Creado específicamente para procesar datos JSON.
sudo apt install jq # Ubuntu/Debian sudo yum install jq # CentOS/RHEL
Primero convertimos algunos datos al formato JSON:
cat > sales_sample.json << 'EOF'
{
"orders": [
{
"order_id": 1001,
"customer": "John Smith",
"product": "Laptop",
"price": 899.99,
"region": "North",
"status": "completed"
},
{
"order_id": 1002,
"customer": "Sarah Johnson",
"product": "Mouse",
"price": 24.99,
"region": "South",
"status": "completed"
},
{
"order_id": 1006,
"customer": "Sarah Johnson",
"product": "Laptop",
"price": 899.99,
"region": "South",
"status": "pending"
}
]
}
EOF
Ejemplo 1: JSON bastante impreso.
jq '.' sales_sample.json
Ejemplo 2: Extraiga todos los nombres de los clientes.
jq '.orders[].customer' sales_sample.json
Ejemplo 3: Filtrar pedidos superiores a $100.
jq '.orders[] | select(.price > 100)' sales_sample.json
Ejemplo 4: Convertir a formato CSV.
jq -r '.orders[] | [.order_id, .customer, .product, .price] | @csv' sales_sample.json

Bonificación: combine herramientas con tuberías
Aquí es donde realmente ocurre la magia: puedes vincular estas herramientas mediante tuberías (|) Cree potentes canales de procesamiento de datos.
Ejemplo 1: Encuentra las 10 palabras más comunes en un archivo de texto:
cat article.txt | tr '[:upper:]' '[:lower:]' | tr -s ' ' '\n' | sort | uniq -c | sort -rn | head -10
Ejemplo 2:Analizar registros del servidor web:
cat access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -20
Ejemplo 3:Exploración rápida de datos:
cut -d',' -f3 sales.csv | tail -n +2 | sort -n | uniq -c
Ejemplo de flujo de trabajo real
Déjame mostrarte cómo estas herramientas funcionan juntas en un escenario del mundo real. Supongamos que tiene un archivo CSV grande que contiene datos de ventas y desea:
- Quitar título.
- Extraiga las columnas de nombre y precio del producto.
- Encuentra los 10 productos más caros.
Esta es la línea:
tail -n +2 sales.csv | cut -d',' -f2,5 | sort -t',' -k2 -rn | head -10
Desglosarlo:
tail -n +2: omita la fila del encabezado.cut -d',' -f2,5: Extraiga las columnas 2.ª y 5.ª.sort -t',' -k2 -rn: Ordenar numéricamente por el segundo campo, en orden inverso.head -10: muestra los primeros 10 resultados.
en conclusión
Estas 10 herramientas de línea de comandos son como tener una navaja suiza para el procesamiento de datos. Son rápidos, eficientes y una vez que se familiarice con ellos, volverá a ellos constantemente, incluso cuando esté trabajando en proyectos de Python.
Comience con lo básico: head, tail, wcy grep. Una vez que se sienta natural, agregue cut, sorty uniq a tu arsenal. Finalmente, actualice a awk, sedy jq.
Recuerde, no es necesario que lo recuerde todo. Marque esta guía como favorita y consúltela nuevamente cuando necesite una herramienta específica. Con el tiempo, estos comandos se convertirán en una segunda naturaleza.








