Nivel de ingenuidad:Me siento** HACKER**
Comprender las ventajas del uso de la terminal
Introducción al curso: ¿Qué es y cómo funciona la terminal?
Windows Subsystem for Linux (WSL): Cómo acceder a la terminal en Windows
Aprender a manipular archivos a través de la terminal
¿Qué es y cómo funciona el sistema de archivos? - Organización de archivos
Práctica: Comandos para organizar el Sistema de Archivos
Manejo de archivos de texto y utilidades interactivas
Utilidades batch y batch avanzadas
Práctica: Tratamiento de texto
Comprender los mecanismos de comunicación y administración entre procesos
Comunicación entre procesos: Qué son y cómo se utilizan los flujos estándar
Práctica: Comunicación entre Procesos
Administración de procesos en background y foreground
Permisos sobre archivos: El sistema de permisos octal
Práctica: Usuarios, Grupos y Permisos
Sistemas de manejo de paquetes
Conocer herramientas avanzadas
Herramientas de compresión y combinación de archivos
Herramientas de búsqueda de archivos
Herramientas para interactuar a través de HTTP
Acceso seguro a otras computadoras
Configuración de un servicio de mailing
Qué son y cómo se utilizan las variables de entorno
Automatizar tareas: el verdadero poder de la terminal
Cómo y para qué escribir scripts en Bash
Cómo y para qué dejar tareas programadas
Cómo se ejecutan los comandos estudiados en Windows y MacOS
Repaso y próximos pasos
Vamos a estudiar algunos comandos para procesar texto y emitir un resultado. Te recomiendo que no solo te quedes con la lectura, sino que experimentes todo lo que quieras con estos comandos, ya que más adelante los necesitarás para completar los desafíos.
...
Regístrate o inicia sesión para leer el resto del contenido.
Aportes 716
Preguntas 1
Nivel de ingenuidad:Me siento** HACKER**
Si desean guardar el resultado de la sustitución realizada con sed, solo deben hacer lo siguiente:
sed ‘s/NOMBRE_USUARIO/Ana/; s/PUNTOS_USUARIO/35/’ archivo-saludo.txt > archivo-modificado.txt
De esta forma se creara un nuevo archivo llamado archivo-modificado.txt que contendrá los campos sustituidos, sin alterar el archivo original
1. Mi archivo file.txt es una lista de nombres y apellidos separados por “;”
root@myuser:~/Documentos$ cat file.txt
Esteban; Alvarado;
Jennifer; Garita;
Paola; Carrillo;
María; Salazar;
Steven; Carrillo;
Tiffany; Robinson;
José; Alfaro;
David; Alvarado;
Enellia; Vargas;
2. Ejercicios con head
y tail
root@myuser:~/Documentos$ head -n 2 file.txt
Esteban; Alvarado;
Jennifer; Garita;
root@myuser:~/Documentos$ tail -n 3 file.txt
José; Alfaro;
David; Alvarado;
Enellia; Vargas;
3. Ejercicios con grep
root@myuser:~/Documentos$ grep 'Esteban' file.txt
Esteban; Alvarado;
root@myuser:~/Documentos$ grep -i 'tiffany' file.txt
Tiffany; Robinson;
root@myuser:~/Documentos$ grep -i 'carrillo;$' file.txt
Paola; Carrillo;
Steven; Carrillo;
root@myuser:~/Documentos$ grep -i '^jennifer' file.txt
Jennifer; Garita;
4. Ejercicios con sed
root@myuser:~/Documentos$ sed 's/Tiffany/Reginaldo/g' file.txt
Esteban; Alvarado;
Jennifer; Garita;
Paola; Carrillo;
María; Salazar;
Steven; Carrillo;
Reginaldo; Robinson;
José; Alfaro;
David; Alvarado;
Enellia; Vargas;
/*Tratamiento de texto*/
touch [nameFIle.extensión]= nos permite crear archivos.
cat => Muestra el contenido de un archivo
head => muestra las primeras lineas de un archivo.
head -n [numero de lineas] => muestra las lineas que se indique desde el comienzo del archivos
tail -n [numero de lineas] => muestra las lineas que se indique desde el final del archivos
grep [dato buscado] [archivo en que se va a buscar] = buscar dentro de archivos
grep -i [dato buscado] [archivo en que se va a buscar] = buscar dentro de archivos(incluyendo mayusculas y minusculas)
grep -i [dato buscado] [archivo en que se va a buscar] = buscar dentro de archivos(incluyendo mayusculas y minusculas)
grep -i ["dato buscado[AllEnd$]"] [archivo en que se va a buscar] = buscar dentro de archivos, todo lo que finalice [AllEnd] "$" (incluyendo mayusculas y minusculas)
grep -i ["^dato buscado[AllEnd]"] [archivo en que se va a buscar] = buscar dentro de archivos, todo lo que tenga al principio [StartAll] "$" (incluyendo mayusculas y minusculas)
sed '[s/[DatosARemplazar]/[nuevoDato]/g]' [archivo en que se va a buscar]=Remplazar un dato en el flujo que se expone en la terminal, nunca en el archivo original
sed '$d' [archivo]=borrar la útima linea de un archivo
https://likegeeks.com/es/sed-de-linux/
Awk -F ['delimitador;'] '{print$1}'= Sirve para tabajar con archivos estructurados ejemplo .csv, este ejemplo trae la primera columna
Awk -F ['delimitador;'] '{print$1}'= Sirve para tabajar con archivos estructurados ejemplo .csv, este ejemplo trae la primera columna
/*Tratamiento de texto*/```
La verdad es el primer curso que me encuentro con el que no me siento a gusto. El profesor explica demasiado rapido y se salta detalles sin explicarlos.
Me da gusto que ya estés en esta clase 😃
Te tengo una sorpresa, pero tendrás que descubrirla por ti mismx, copia y pega la siguiente línea en tu terminal
echo "x0xs hny px0swny 1nc0xíblx, nw tx 01ndys, c0xxmws xn t1" | sed 's/x/e/g; s/y/a/g; s/h/u/g; s/w/o/g; s/0/r/g; s/1/i/g'
Holiii !!! Comparto mi pequeño ejercicio. Descubrí que se puede usar el mismo comando cat > para crear un archivo de texto e ingresar texto directamente, al final se guarda con Crtl + D
almarebolloso@SoDium:~/develop/learning$ mkdir comandosLnx
almarebolloso@SoDium:~/develop/learning$ cd comandosLnx
almarebolloso@SoDium:~/develop/learning/comandosLnx$ cat > archivodeTxt.txt
Hey there ! Hey!
Hey! What's up?! How are you?!
Hello, hello there?!?!
Hi !!! My name is Alma, what's yours?!
k, goodbye dude!
almarebolloso@SoDium:~/develop/learning/comandosLnx$ head -n 2 archivodeTxt.txt
Hey there ! Hey!
Hey! What's up?! How are you?!
almarebolloso@SoDium:~/develop/learning/comandosLnx$ tail -n 3 archivodeTxt.txt
Hello, hello there?!?!
Hi !!! My name is Alma, what's yours?!
k, goodbye dude!
almarebolloso@SoDium:~/develop/learning/comandosLnx$ grep '!$' archivodeTxt.txt
Hey! What's up?! How are you?!
Hello, hello there?!?!
Hi !!! My name is Alma, what's yours?!
k, goodbye dude!
almarebolloso@SoDium:~/develop/learning/comandosLnx$ grep '^H' archivodeTxt.txt
Hey there ! Hey!
Hey! What's up?! How are you?!
Hello, hello there?!?!
Hi !!! My name is Alma, what's yours?!
almarebolloso@SoDium:~/develop/learning/comandosLnx$ sed 's/k/Ok/' archivodeTxt.txt
Hey there ! Hey!
Hey! What's up?! How are you?!
Hello, hello there?!?!
Hi !!! My name is Alma, what's yours?!
Ok, goodbye dude!
Wow, habia aprendido a utilizar la consola de comandos (Todavia ando en nivel basico) y con este post me he dado cuenta que hay comandos mucho mas utilies y con una explicacion mucho mas sencillo que en otros libros y videos que he visto.
El PlatziDay si que me esta ayudando a reforzar y aprender mas cosas <3<3<3
✨ Resumen que permite reforzar conocimiento adquirido de la anterior clase, aclara varias dudas.
Este curso recién lo agregaron para Data Science. Yo ya había dado el de Git por lo que me facilita llevar este porque lo vi antes.
Lo primero que hice fue crear un archivo en excel con datos muy sencillos, Nombre, Apellido, Edad y Peso. Lo guarde como .csv en una carpeta dentro de mi equipo.
Luego mediante la terminal lo copie de la carpeta de Windows a la de development creada en Linux, esto me ayudó a repasar los comandos de cp y a navegar a través de los directorios de ambos SO, para quienes empezamos en esto es una actividad bastante enriquecedora, se los recomiendo.
Por acá les dejo los datos que contiene mi archivo por si a alguien le sirve, me ayudo mucho a comprender mejor cómo funcionan las utilidades de esta lección.
Nombre,Apellido,Edad,Peso
Hector,Diaz,29,74
Eduardo,Campos,30,80
Ariana,Lucena,24,58
Carla,Martinez,20,60
Jaime,Perez,26,70
Reyna,Torres,67,60
Maria,Mendoza,33,66
Susana,Dorantes,40,69
Pedro,Serrno,78,70
Diana,Aguilar,35,70
Oliver,Reynoso,40,80
Jorge,Cruz,28,80
Carlos,Pea,33,60
Jesus,Rivera,34,75
Javier,Buendia,45,80
Gilberto,Romero,47,80
Yadira,Carrillo,29,50
Olga,Santiago,30,68
Frida,Hernandez,6,30
Mateo,Ceja,7,25
Poner todos los comandos, equivocarse, volver a intentarlo hasta ver el resultado esperado, perderle miedo a la terminal
Se entiende mejor en la práctica
silvanarl@DESKTOP-C735VGH:~$ touch reto.txt
silvanarl@DESKTOP-C735VGH:~$ nano reto.txt
silvanarl@DESKTOP-C735VGH:~$ cat reto.txt
¡Hola, NOMBRE_USUARIO! Felicitaciones por completar tu desafío con PUNTOS_USUARIO puntos.
silvanarl@DESKTOP-C735VGH:~$ sed 's/NOMBRE_USUARIO/Silvana/' reto.txt
¡Hola, Silvana! Felicitaciones por completar tu desafío con PUNTOS_USUARIO puntos.
silvanarl@DESKTOP-C735VGH:~$ cat reto.txt
¡Hola, NOMBRE_USUARIO! Felicitaciones por completar tu desafío con PUNTOS_USUARIO puntos.
silvanarl@DESKTOP-C735VGH:~$ sed 's/NOMBRE_USUARIO/Silvana/; s/PUNTOS_USUARIO/100/' reto.txt
¡Hola, Silvana! Felicitaciones por completar tu desafío con 100 puntos.
silvanarl@DESKTOP-C735VGH:~$
^_^
¿En qué caso real me sería de utilidad el comando sed? Ya que por lo que veo solo sirve para mostrar, no edita el archivo realmente. Tengo entendido que crea un nuevo flujo, ¿se puede obtener ese nuevo flujo y guardarlo para así hacer la idea de obtener el archivo modificado?
En mi opinión esta clase basada en lectura fue mas clara que la explicación de el docente 😃
Este curso esta muy bueno hace dos días no sabia nada de lineas de comando, muchas gracias.
Que interesante, no había conocido el uso de sed antes.
Varios comandos espero les sirva:
WOW es increible lo que uno aprende en pocos videos de este curso, de no saber absolutamente nada a tener unos conceptos basicos y poderse mover facilmente con la consola ❤️
Falta explicar que para crear un nuevo archivo con el nuevo flujo modificado (por ejemplo, si modificamos un archivo con el comando SED seguramente lo vamos a querer gaurda, si no es inútil) se debe escribir: > nuevo archivo.txt
. Mira este ejemplo:
En la empresa donde trabajo, se dejan a descargar LOGs de algunos servicios, y estos llegan a pesar hasta 2 GB, lo cual es muy tardado de descargar del servidor, pero con los comandos GREP, HEAD, SED, TAIL, me es más facil obtener solo la información que requiero.
Comparto mi ejemplo de prueba, saludos.
Genial me divertí, haciendo la tarea 😄
Muy interesante este manejo con archivos texto, aquí mi ejemplo archivo arcivo-texto.txt (me quedó con el nombre errado, pero bueno funcionan los ejemplos… jejejej"
"""Hola soy Zeneida,
te doy la bienvenida
a este fenomenal curso"""
iMac-de-Andres:zeneida Zeneida$ ls
Arcivo-texto.txt development learning
iMac-de-Andres:zeneida Zeneida$ cat arcivo-texto.txt
"""Hola soy Zeneida,
te doy la bienvenida
a este fenomenal curso"""
iMac-de-Andres:zeneida Zeneida$ head -n 2 arcivo-texto.txt
"""Hola soy Zeneida,
te doy la bienvenida
iMac-de-Andres:zeneida Zeneida$ tail -n 1 arcivo-texto.txt
a este fenomenal curso"""
iMac-de-Andres:zeneida Zeneida$ grep "soy" arcivo-texto.txt
"""Hola soy Zeneida,
iMac-de-Andres:zeneida Zeneida$ grep -i "zenEidA" arcivo-texto.txt
"""Hola soy Zeneida,
iMac-de-Andres:zeneida Zeneida$ grep "curso$" arcivo-texto.txt
iMac-de-Andres:zeneida Zeneida$ grep "bienvenida$" arcivo-texto.txt
te doy la bienvenida
iMac-de-Andres:zeneida Zeneida$ grep "^te" arcivo-texto.txt
te doy la bienvenida
iMac-de-Andres:zeneida Zeneida$ sed "s/Zeneida/Marisol/" arcivo-texto.txt
"""Hola soy Marisol,
te doy la bienvenida
a este fenomenal curso"""
iMac-de-Andres:zeneida Zeneida$
Bueno me dedique a practicar, así memorizo los comando** Reto Road to Code**
Excelente curso
quien ha sentido que esto es muy duro , pero somos masoquistas para aprender . duele duele
Utilidades batch.
Son programas que procesan texto y emiten el resultado.
Cat => muestra el contenido completo de un archivo.
head => muestra las primeras linas de un archivo
tail => muestra las utlimas lineas del archivo
grep => podemos ver si exite una linea en el achivo -i => para que no haga distincio entre Mayus o minus
sed => Tratamiento de flujos. (stream of data) cambia datos con patrones de seleccion
awk => Tratamiento de texto delimitado.
touch => Nos permite crear archivos.
se siente raro cuanto estas trabajando en linux despues de solo trabajar en windows
En unas clases pasadas subí un texto con los comandos vistos, aquí muestro el resultado de cambiar “parametro” por “argumento”, creo que va mejor.
MacBook-Pro-de-rodrigo:practica_tratamiento_texto rodrigo$ sed 's/parametro/argumento/' archivo.txt
man [argumento] -> manual de comando
man comando
date [argumento] -> fecha sistema
date
echo -> impresión en pantalla
echo “texto”
history [argumentos]-> historial de comandos
history
history -c -> limpia el historial
!# -> te permite repetir un comando después de usar history
!88 -> ejecuta el comando 88 de history
i99
ls [argumentos]-> listar archivos
ls -> listar archivos
ls -a -> archivos ocultos
ls -all -> ordenados con sus propiedades y ocultos (. archivos virtuales)
ls -l -> ordenaos con sus propiedades y sumando el tamaño de los archivos (lista larga)
drwxrwxrmw -> directorio
-rw-r--r-- ->archivo
-lrwxrwxr-x ->archivo de enlace
pwd -> ruta del directorio actual
cd [argumento]-> cambiar directorio (change directory)
cd /home
cd ~ te regresa al home
cd - te lleva al último directorio visitado
mkdir [argumento] -> crea directorios (make directory)
mkdir introduccion_linea_comandos
cp [argumentos] -> copiar archivo/directorio (copy directory)
cp archivo/directorio destino
cp texto.txt /cursos/platzi/introduccion_linea_comandos
cp archivo ../text.tx . - > ../ directorio anterior . directorio actual
mv [argumentos] -> mover archivo/directorio
mv archivo/directorio destino
mv ../archivo.py . - > ../ (directorio anterior) . (directorio actual)
rm [argumento] -> eliminar un archivo
rm archivo.txt
rmdir [argumento] - > borrar un directorio
rmdir introduccion_linea_comandos
rm -r -> forza el borrado del directorio aunque tenga información
rm -r introduccion_linea_comandos
limpiar terminal
clear o ctrl + l -> Mac
Dato
Algunos comandos tienen parámetros opcionales y otros son obligatorios Ej:
mkdir [argumento_obligatorio]
ls [argumento_opcional]
. . -> directorio padre
. -> directorio actual
ls
ls -a -> archivos, incluso ocultos
ls -t -> ordena por fecha de modificación
ls -x -> ordena elementos primero por nombre y después por extensión
ls -X -> ordena los elementos primero por extensión y luego por nombre
ls -l -> muestra toda la información : usuario, grupo, permisos, tamaño, fecha y hora de creación
ls -lh -> muestra la misma información que ls -l pero con unidades de tamaño en KB, MB
lr -R -> muestra el contenido de todos los subdirectorios de forma recursiva
ls -S -> ordena los resultados por tamaño de archivo
Comandos para cambiar de ubicación
Print Workin Directory: se usa para mostar el directorio actual en el que nos encontramos trabajando.
pwd
cd -> se utiliza para cambiar de directorio
cd /ruta/ruta
cd /home/mi_usuario
Comandos para mover, copiar o borrar
cp -> copiar un archivo hacia un directorio
cp [archivo que se va a copiar] [directorio hacia el que se va a mover]
rm -> eliminar un archivo
rm archivo.txt
mv -> mover un archivo
mv [ruta del archivo] [directorio hacia el que se va a mover]
rmdir -> eliminar un directorio
rmdir [ruta / nombre del directorio a eliminar]
Me gusta esto de las líneas de comando, no le había dad o tanta importancia.
También me pasé a linux para ir al 100 con la terminal 😄
Comparto la primera practica, tambié les comparto una web para descargar archivos txt con datos que pueden usar para practicar 😃
juan@ASUS-GL752VW:~$ touch data.txt
juan@ASUS-GL752VW:~$ ls
archivo.txt data.txt development home juan learning nano.save nota.txt test
juan@ASUS-GL752VW:~$ cat data.txt
juan@ASUS-GL752VW:~$ vim data.txt
juan@ASUS-GL752VW:~$ cat data.txt
NOMBRE, ID, PAIS, CURSO
(Carlos, 01, Argentina, Python)
(Andres, 02, Paraguay, Java)
(Teresa, 03, Chile, Kotlin)
(Angela, 04, Colombia, Java)
(Sofia, 05, Colombia, Kotlin)
(Ximena, 06, Peru, C)
(Carolina, 07, Colombia, Java)
(Andrea, 08, Venezuela, Python)
(Alvaro, 09, Panama, Java)
(Erick, 10, Ecuador, Php)
(Dayana, 11, Peru, C#)
(Jose, 12, Uruguay, C)
(Jefer, 13, Argentina, Java)
(Tatiana, 14, Peru, Python)
(Lorena, 15, Chile, Kotlin)
(Bermudez, 16, Argentina, Php)
(Esteban, 17, Colombia, Ruby)
(Sofia, 18, Argentina, Kotlin)
(Marcela, 19, Venezuela, C++)
(Thomas, 20, Brasil, Java)
juan@ASUS-GL752VW:~$ head -3 data.txt
NOMBRE, ID, PAIS, CURSO
(Carlos, 01, Argentina, Python)
(Andres, 02, Paraguay, Java)
juan@ASUS-GL752VW:~$ tail -5 data.txt
(Bermudez, 16, Argentina, Php)
(Esteban, 17, Colombia, Ruby)
(Sofia, 18, Argentina, Kotlin)
(Marcela, 19, Venezuela, C++)
(Thomas, 20, Brasil, Java)
juan@ASUS-GL752VW:~$ grep Java data.txt
(Andres, 02, Paraguay, Java)
(Angela, 04, Colombia, Java)
(Carolina, 07, Colombia, Java)
(Alvaro, 09, Panama, Java)
(Jefer, 13, Argentina, Java)
(Thomas, 20, Brasil, Java)
juan@ASUS-GL752VW:~$ grep -i php data.txt
(Erick, 10, Ecuador, Php)
(Bermudez, 16, Argentina, Php)
juan@ASUS-GL752VW:~$ sed ‘s/Java/HTML/’ data.txt
NOMBRE, ID, PAIS, CURSO
(Carlos, 01, Argentina, Python)
(Andres, 02, Paraguay, HTML)
(Teresa, 03, Chile, Kotlin)
(Angela, 04, Colombia, HTML)
(Sofia, 05, Colombia, Kotlin)
(Ximena, 06, Peru, C)
(Carolina, 07, Colombia, HTML)
(Andrea, 08, Venezuela, Python)
(Alvaro, 09, Panama, HTML)
(Erick, 10, Ecuador, Php)
(Dayana, 11, Peru, C#)
(Jose, 12, Uruguay, C)
(Jefer, 13, Argentina, HTML)
(Tatiana, 14, Peru, Python)
(Lorena, 15, Chile, Kotlin)
(Bermudez, 16, Argentina, Php)
(Esteban, 17, Colombia, Ruby)
(Sofia, 18, Argentina, Kotlin)
(Marcela, 19, Venezuela, C++)
(Thomas, 20, Brasil, HTML)
Queria incluir todos los ejemplos, pero para eso tendria que hacer spam de comentarios xD
Aquí mi aporte
GREP: permite la búsqueda de expresiones regulares, haciendo que coincida con la expresión regular que se utiliza.
Ejemplo: grep -i “hanks$” dumpl.sql
Los Carácteres Regex Extendidos Significado
SED: Screen Editor, tratamiento de flujos de caracteres. Este comando nos permite reemplazar una expresión por otra.
Ejemplo 1: sed ‘s/Hanks/Seleck/g’ dumpl.sql= [Comando][’s’][archivo]
Ejemplo 2: sed ‘$d’ nuevasPelis.csv = [Comando][’$sub-comando’][archivo]
Algunos parámetros:
• s: string
• g: global
• d: delete
• p: print
AWK: tratamiento de texto delimitado, útil para trabajar textos estructurados, separados por (comas (,)) (pipes (|)), (tabs ( )), etc.
Ejemplo 1: awk -F ‘;’ ‘{ print $1}’ nuevasPelis.csv
Algunos parámetros:
• -F: especifica el delimitador (‘;’)
• {}: ejecuta una función
• print: o printf es la función de imprimir
• $1: define el peso ($) de que line se realizará la función, para este ejemplo se imprimirá la columna 1 del archivo nuevasPelis.csv
Ejemplo 2: awk -F"::" ‘{printf("%s\n", $3)}’ movies.dat
• -F: especifica el delimitador (‘::’)
• {}: ejecuta una función
• print: o printf es la función de imprimir
• %s\n: toma el valor literal del string y luego imprime una nueva línea (\n)
• $3: define el peso ($) de que line se realizará la función, para este ejemplo se imprimirá las 3 primeras columnas del archivo movies.dat
Me encantó como la localización del placeholder puede cambiarse por los datos de todo un archivo a otro, se localiza ‘/DATA/’ en el archivo ‘try.txt’ luego se elimina y en el mismo lugar se inserta el contenido del archivo ‘try2.txt’:
terminal:$ cat try.txt
first
second
DATA
third
fourth
terminal:$ cat try2.txt
This is a test
This is a second test
This is an another test
terminal:$ sed '/DATA/ {
> r try2.txt
> d}' try.txt
first
second
This is a test
This is a second test
This is an another test
third
fourth```
**~$ cat test.csv **
Este es un ejemplo de usar comandos en la terminal
id; nombre; direccion; precio;
1; carro; usa; 100;
2; moto; mexico; 50;
listo…
**~$ head -n 3 test.csv **
Este es un ejemplo de usar comandos en la terminal
id; nombre; direccion; precio;
**~$ tail -n 3 test.csv **
2; moto; mexico; 50;
listo…
**~$ grep -i ‘Carro;’ test.csv **
1; carro; usa; 100;
**~$ sed -i ‘s/carro/auto/g’ test.csv | cat test.csv **
Este es un ejemplo de usar comandos en la terminal
id; nombre; direccion; precio;
1; auto; usa; 100;
2; moto; mexico; 50;
listo…
**~$ sed -i ‘$d’ test.csv | cat test.csv **
Este es un ejemplo de usar comandos en la terminal
id; nombre; direccion; precio;
1; auto; usa; 100;
2; moto; mexico; 50;
**~$ awk -F ‘;’ ‘{print $1, $2}’ test.csv **
Este es un ejemplo de usar comandos en la terminal
id nombre
1 auto
2 moto
**~$ awk -F ‘;’ ‘{print $1, $2, $4+$4}’ test.csv **
Este es un ejemplo de usar comandos en la terminal 0
0
id nombre 0
1 auto 200
2 moto 100
Si deseas guardar el reemplazo que haga el comando sed, lo puedes guardar en otro archivo, por ejemplo:
cat test.log | sed ‘s/datos/CURSO/g’ | sed ‘$d’ > final.log
Esos comandos hacen cosas increibles.
Listo! ☺
El curso hasta el momento perfecto, tiene muchas ayudas, recomendación ayudarse de los comentarios de los compañeros, dejan buenos apuntos.
Los comandos grep, sed y cat los utilicé bastante en esta clase:
Creé un archivo de texto con el comando touch e implementé los otros tres comandos para la edición y visualización del archivo.
😄 💚
(base) asf@asf-SVF15A17CLB:~/Documents/tmp$ sed 's/NOMBRE_USUARIO/Alejo/; s/PUNTOS_USUARIO/1000/' test_bash.txt
¡Hola, Alejo! Felicitaciones por completar tu desafío con 1000 puntos.
El curso de NOMBRE_CURSO, está siendo OPINION
sed "s/NOMBRE_CURSO/Introducción a la terminal y línea de comandos/; s/OPINION/INCREÍBLE/" bienvenido.txt
Correción del comando, falta un / despues de Ana: sed ‘s/NOMBRE_USUARIO/Ana/’ archivo-saludo.txt
[root@localhost villanes]# cat saludo.txt
Hola NOMBRE_USUARIO, llevas acumulado hasta la fecha de hoy: FECHA, PUNTOS puntos. Felicitaciones
[root@localhost villanes]# sed 's/NOMBRE_USUARIO/INVICTOR/;s/FECHA/5 de Marzo del 2020/;s/PUNTOS/2800/' saludo.txt
Hola INVICTOR, llevas acumulado hasta la fecha de hoy: 5 de Marzo del 2020, 2800 puntos. Felicitaciones
[root@localhost villanes]#
Definitivamente la terminal es muy poderosa
Wow! Esto se empieza a poner más interesante.
<joseman@DESKTOP-22EGQO2:~$ cat mascota.txt
Hola Petlover!
Gracias por confiarnos a tu engreido. NOMBRE_MASCOTA se portó muy bien durante su DESCRIPCION_SERVICIO y lo recompensamos con unos deliciosos bocadillos de cordero que le encantaron! (puedes comprarlos en el siguiente enlace).
A la fecha tienes NUM_VISITAS_MASCOTA visitas acumuladas, por lo que has desbloqueado los siguientes beneficios gratuitos:
- Baño de avena antialergico.
- Profilaxis dental.
- 2 horas de entrenamiento con nuestro coach de mascotas.
Si quieres programar alguno de estos beneficios, envianos un correo a [email protected] para agendar la hora y fecha, o hazlo tu mismo desde nuestra aplicación movil.
En el archivo adjunto encontrarás tu Factura Electronica y detalle del servicio.
Esperamos ver a NOMBRE_MASCOTA pronto nuevamente.
El equipo PetLovers.
joseman@DESKTOP-22EGQO2:~$ sed 's/NOMBRE_MASCOTA/MANOLO/; s/DESCRIPCION_SERVICIO/Desparacitación trimestral gatuna/; s/NUM_VISITAS_MASCOTA/6/' mascota.txt
Hola Petlover!
Gracias por confiarnos a tu engreido. MANOLO se portó muy bien durante su Desparacitación trimestral gatuna y lo recompensamos con unos deliciosos bocadillos de cordero que le encantaron! (puedes comprarlos en el siguiente enlace).
A la fecha tienes 6 visitas acumuladas, por lo que has desbloqueado los siguientes beneficios gratuitos:
- Baño de avena antialergico.
- Profilaxis dental.
- 2 horas de entrenamiento con nuestro coach de mascotas.
Si quieres programar alguno de estos beneficios, envianos un correo a [email protected] para agendar la hora y fecha, o hazlo tu mismo desde nuestra aplicación movil.
En el archivo adjunto encontrarás tu Factura Electronica y detalle del servicio.
Esperamos ver a MANOLO pronto nuevamente.
El equipo PetLovers.
joseman@DESKTOP-22EGQO2:~$>
Con que asi es como hacen los certificados de platzi?
Esta clase de texto esta mejor explicada que la clase en video anterior. (De verdar ojalá actualicen este curso pues su calidad de enseñansa no es de los “estandares de platzi”)
Hola. Me quedé con dos dudas importantes respecto al uso del comando “sed”.
Si los cambios realizados no se guardan sobre el archivo original, como se guardan los cambios realizados a través de este comando? No he notado que se creara un archivo adicional.
Al usar " sed ‘s/TEXTO_A_CAMBIAR/Texto Nuevo A/’ ", si deseara cambiar dos líneas distintas de texto, podría hacerlo? Existe algún modo? Lo pregunto porque al hacer un cambio y luego el otro, considerando la primera duda que tengo, se habría guardado o asegurado el primer cambio “Texto Nuevo A”?
Intenté hacerlo de un par de maneras pero no resultó y al verificar con “cat” luego del primer cambio ejecutado con “sed”, en efecto, el archivo original seguía intacto.
Ojalá me deje entender.
Gracias por la ayuda.
¿Cómo hago para crear datos dentro de el archivo.txt? ¿o debo escribir algo en el blog de notas?
Esto esta muy divertido. Me encanta el roadtocode esta primera semana.
Quiero compartirles una correción. Ahora que estaba aplicandolos comando de BUSQUEDA me paso algo fuera de lo que Mauro habia explicado. Miren la imagen y dijense que para ejecutar el comando SED.
No use como lo explica en los ejemplos. Sino como esta en la imagen => sed s’/nombre a sustutiur/nombre de reemplazo/g’ archivo.txt
Y funciona.
En las expresiones regulares con el símbolo caret (^) es posible buscar cualquier coincidencia que comience con lo que hay a la derecha de este, mientras que con el símbolo peso ($) se busca cualquier coincidencia que finalice con lo que hay a la izquierda de este
USO DE LOS COMANDOS EN LINUX:
ls- ver archivos, podemos agregar condicionales
Tree- ver archivos en cascada (es necesario instalar la paquetería de tree con el comando: (sudo apt-get install tree)
Man- permite ver propiedades de comandos
Catarchivo.txt - visualizar el archivo compelto
Headarchivo.txt - ver las primeras 10 líneas y con -n # ( # = número de líneas ) selecciono el número de líneas que deseo ver
Tailarchivo.txt - ver las últimas 10 líneas del archivo, también aplica -n #
Toucharchivo.txt - crear archivo
Mv- mover archivos con la forma: mv ./archivo.txt ./carpeta_destino/
Cp - copiar archivo, misma estructura que mv: cp ./archivo.txt ./carpeta_destino/
. - me indica que tomara el directorio actual
. . - me indica que tomará el directorio padre
Mkdir- crear directorio
Rm- eliminar archivo
Rmdir- eliminar directorio
Sed- sustituir valores con la forma: sed ‘#s/valor1/valor2/(g - global o w - write) -nombre de archivo opcional-’ archivo.txt
Vim archivo.txt - crear y editar archivos
Nano archivo.txt - crear y editar archivos
Grep - buscar palabras clave en un archivo, puede ser de 3 tipos:
Un poco largo, pero practiqué y logré entender 😄
joelsv@DESKTOP-VJEU1V9:~$ ls
PLATZIPROYECTOS development learning
joelsv@DESKTOP-VJEU1V9:~$ cd learning
joelsv@DESKTOP-VJEU1V9:~/learning$ touch practica2.txt
joelsv@DESKTOP-VJEU1V9:~/learning$ cat practica2.txt
joelsv@DESKTOP-VJEU1V9:~/learning$ vim practica2.txt
joelsv@DESKTOP-VJEU1V9:~/learning$ cat practica2.txt
Hola!
Este es un archivo de prueba para usar los comandos de la terminal
En este momento estoy editando en Vim, un excelente editor de texto
Voy a enumerar algunos juegos de Nintendo Switch que tengo:
1 Dragon Quest XI
2 Mega Man 11
3 Captain Tsubasa: Rise of the New Champions
4 Super Mario 3D World
5 Hyrule Warriors: Age of Calamity
6 Ring Fit Adventure
7 Mario Kart 8
8 Okami HD
9 Baba is You
10 Monster Hunter Rise
Ahora es momento de terminar la edición de texto
Gracias por leer, ahora es momento de probar nuevos juegos
¡Hola, Joel! Felicidades por completar tu desafío con 100 puntos.
joelsv@DESKTOP-VJEU1V9:~/learning$ head practica2.txt
Hola!
Este es un archivo de prueba para usar los comandos de la terminal
En este momento estoy editando en Vim, un excelente editor de texto
Voy a enumerar algunos juegos de Nintendo Switch que tengo:
1 Dragon Quest XI
2 Mega Man 11
3 Captain Tsubasa: Rise of the New Champions
4 Super Mario 3D World
5 Hyrule Warriors: Age of Calamity
6 Ring Fit Adventure
joelsv@DESKTOP-VJEU1V9:~/learning$ tail -n 5 practica2.txt
9 Baba is You
10 Monster Hunter Rise
Ahora es momento de terminar la edición de texto
Gracias por leer, ahora es momento de probar nuevos juegos
¡Hola, Joel! Felicidades por completar tu desafío con 100 puntos.
joelsv@DESKTOP-VJEU1V9:~/learning$ grep juegos practica2.txt
Voy a enumerar algunos juegos de Nintendo Switch que tengo:
Gracias por leer, ahora es momento de probar nuevos juegos
joelsv@DESKTOP-VJEU1V9:~/learning$ grep -i "calamity$" practica2.txt
5 Hyrule Warriors: Age of Calamity
joelsv@DESKTOP-VJEU1V9:~/learning$ grep "^Este" practica2.txt
Este es un archivo de prueba para usar los comandos de la terminal
joelsv@DESKTOP-VJEU1V9:~/learning$ sed 's/Joel/Orellana/' practica2.txt
Hola!
Este es un archivo de prueba para usar los comandos de la terminal
En este momento estoy editando en Vim, un excelente editor de texto
Voy a enumerar algunos juegos de Nintendo Switch que tengo:
1 Dragon Quest XI
2 Mega Man 11
3 Captain Tsubasa: Rise of the New Champions
4 Super Mario 3D World
5 Hyrule Warriors: Age of Calamity
6 Ring Fit Adventure
7 Mario Kart 8
8 Okami HD
9 Baba is You
10 Monster Hunter Rise
Ahora es momento de terminar la edición de texto
Gracias por leer, ahora es momento de probar nuevos juegos
¡Hola, Orellana! Felicidades por completar tu desafío con 100 puntos.
joelsv@DESKTOP-VJEU1V9:~/learning$ sed 's/Joel/Orellana/; s/100/10/' practica2.txt
Hola!
Este es un archivo de prueba para usar los comandos de la terminal
En este momento estoy editando en Vim, un excelente editor de texto
Voy a enumerar algunos juegos de Nintendo Switch que tengo:
1 Dragon Quest XI
2 Mega Man 11
3 Captain Tsubasa: Rise of the New Champions
4 Super Mario 3D World
5 Hyrule Warriors: Age of Calamity
6 Ring Fit Adventure
7 Mario Kart 8
8 Okami HD
9 Baba is You
10 Monster Hunter Rise
Ahora es momento de terminar la edición de texto
Gracias por leer, ahora es momento de probar nuevos juegos
¡Hola, Orellana! Felicidades por completar tu desafío con 10 puntos.```
Ahora ya estoy entendiendo un poco más de que va la clase (curso). Saludos
Hola, la verdad que este curso si es un poco confuso para los que no tenemos mucha base. Me recomiendan tomar algún otro curso antes de este para entenderlo mejor?
Gracias @Mauro Chojrin !! Era justo lo que le faltaba a la clase anterior!!!
COMANDOS DE TRATAMIENTO DE TEXTO
- Touch: nos permite crear archivos
- Cat: nos permite visualizar todo el contenido de nuestros archivos
- Head -n #líneas: nos permite visualizar todo el contenido de nuestros archivos y le debemos indicar el número de líneas a visualizar. Por defecto traerá las 10 primeras líneas
- tail -n #líneas: Nos mostrará las últimas líneas de acuerdo al número que le indiquemos. Al igual que head este por defecto traerá las últimas 10.
1. Búsqueda y tratamiento de texto:
a. El comando "grep" nos permitirá ubicar palabras clave dentro de un archivo de texto. Si nos da igual si son mayúsculas o minúsculas, utilizaremos el comando "grep -i".
b. El símbolo $ al final de la palabra clave será la señal de que esta palabra clave está al final.
c. El símbolo ^ al inicio de la palabra clave será la señal de que esta palabra clave se encuentra al inicio de la línea de texto.
d. El comando sed nos permitirá cambiar los caracteres de determinada palabra por la que deseamos ahora. Ejemplo: sed 's/NOMBRE_USUARIO/Ana/'
Gracias a todos los mensajes anteriores porque colocan los pantallazos de sus aprendizajes. Sin duda son de una gran ayuda para muchos que como yo este curso parece RUSO. jajaja, pero tenemos muchas ganas de querer aprender.
NUNCA DEJES DE APRENDER.
Resumen del capitulo en Notion
https://cutt.ly/ylG7hNm
Hola, he aquí mi ejercicio. Lo realicé con un poema que encontré.
PD: no use awk, me parece que no encontraba un uso específico para el en este ejercicio.
Un dato gente!, cuando escribimos
sed 's/NOMBRE_USUARIO/Ana/g' archivo-saludo.txt
Con la letra “g” al final del conmando, le decimos que remplace todas las apariciones en el archivo. Pero podemos acambiar unicamente la primera aparición usando “1”, la segunda “2”, etc …
Un ejemplo:
Fuente: https://likegeeks.com/es/sed-de-linux/
Por un momento no me funciono el comando sed al solo poner el nombre del usuario y al usarlo completo funciono 10/10
No soy capaz de verle mucha utilidad al comando ‘sed’ pero bueno, parece que ya lo veremos más adelante en el curso global.
Definitivamente practicar hace que se te quede mejor asimilados los comandos
Realizado
pandora@DESKTOP-H0J8FO7:~/learning/javascript$ touch reto.txt
pandora@DESKTOP-H0J8FO7:~/learning/javascript$ nano reto.txt
pandora@DESKTOP-H0J8FO7:~/learning/javascript$
pandora@DESKTOP-H0J8FO7:~/learning/javascript$ cat reto.txt
Hola USUARIO, tu puntuacion para este reto fue de PUNTOS..
pandora@DESKTOP-H0J8FO7:~/learning/javascript$ sed 's/USUARIO/Luciano/ ; s/PUNTOS/100/' reto.txt
Hola Luciano, tu puntuacion para este reto fue de 100..
pandora@DESKTOP-H0J8FO7:~/learning/javascript$```
![]()
¡Ay, lo conseguí!
Reto cumplido!
Reto cumplido, WOW!
Está bueno el link de comandos:
https://likegeeks.com/es/sed-de-linux/.
tails -f log.txt
Es muy útil para ver registros en tiempo real 😄
practicar es lo que nos aporta aun mas al aprendizaje, nuca paren de practicar lo que aprenden 😃
Genial
Tranquilamente podrian armar un curso por comando
muy buena explicación del uso de los comandos y nos complementa con otros ejemplos del uso del comando sed
estoy tan sorprendido , en serio , que existan profesores y personas que explican esto tan desmenuzado que realmente es gratificante aprender .
interesante
gracias en verdad estoy aprendiendo bastante, aunque me ha costado en algunas cosas he logrado las metas. gracias por este platzi por estos cursos, a continuar aprendiendo.
Lindo curso, la verdad.
Un universo lleno de posibilidades.
darksho@DESKTOP-82B9MB2:~/platzi$ sed 's/Nombre_Usuario/Victor/; s/Puntos_Usuario/10000/' consola
!Hola, Victor! Felicidades por completar tu desafío con 10000 puntos.```
Success!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?