Vamos a practicar con bash
, un lenguaje de programación que se ejecuta en la línea de comandos!
- Ubícate en la carpeta en la que ejecutando en el terminal. Al ejecutar
ls
$ ls
- Deberías ver:
exercices inputs lorem lorem-copy modules outputs README.md
- Intenta hacer todos los ejercicios sin cambiar de directorio.
- Imprime en consola "Hello World".
#!/bin/bash echo Hello World echo Hello World
- Crea un directorio nuevo llamado
new_dir
.
mkdir new_dir
- Elimina ese directorio.
rm -r new_dir
- Copia el archivo
sed.txt
dentro de la carpeta lorem a la carpeta lorem-copy.
cp lorem/sed.txt lorem-copy/sed.txt
- Copia los otros dos archivos de la carpeta lorem a la carpeta lorem-copy en una sola linea mediante
;
.
cp lorem/at.txt lorem-copy/;cp lorem/lorem.txt lorem-copy/
- Muestra el contenido del archivo
sed.txt
dentro de la carpeta lorem.
cat lorem/sed.txt
- Muestra el contenido de los archivos
at.txt
ylorem.txt
dentro de la carpeta lorem.
cat lorem/{at.txt,lorem.txt}
- Visualiza las primeras 3 linas del archivo
sed.txt
dentro de la carpeta lorem-copy
head -n3 sed.txt
- Visualiza las ultimas 3 linas del archivo
sed.txt
dentro de la carpeta lorem-copy
tail -3 sed.txt
- Añade
Homo homini lupus.
al final de archivosed.txt
dentro de la carpeta lorem-copy.
echo Homo homini lupus. >>sed.txt
- Visualiza las últimas 3 linas del archivo
sed.txt
dentro de la carpeta lorem-copy. Deberías ver ahoraHomo homini lupus.
.
tail -n '3'./lorem/sed.txt
- Sustituye todas las apariciones de
et
porET
del archivoat.txt
dentro de la carpeta lorem-copy. Deberás usarsed
.
sed 's/et/ET/g' lorem-copy/at.txt
- Encuentra al usuario activo en el sistema.
whoami
- Encuentra dónde estás en tu sistema de ficheros.
pwd
- Lista los archivos que terminan por
.txt
en la carpeta lorem.
ls lorem/*.txt
- Cuenta el número de lineas que tiene el archivo
sed.txt
dentro de la carpeta lorem. Tendrás que encadenarcat
ywc
mediante el pipe|
.
wc -l lorem/sed.txt
- Cuenta el número de archivos que empiezan por
lorem
que están en este directorio y en directorios internos
find lorem* -type f | wc -l
- Encuentra todas las apariciones de
et
enat.txt
dentro de la carpeta lorem.
grep et lorem/at.txt
- Cuenta el número de apariciones del string
et
enat.txt
dentro de la carpeta lorem. Para ello debes obtener sólo los string buscados y contar las lineas.
grep -o -i et lorem-copy/at.txt | wc -l
- Cuenta el número de apariciones del string
et
en todos los archivos del directorio lorem-copy.
find -name "*.txt" | xargs grep -E 'et' | wc -l
Manual vi: https://www.howtogeek.com/102468/a-beginners-guide-to-editing-text-files-with-vi/
Cualquier comandos o comandos de bash se pueden almacenar en un fichero y ejecutar cuando queramos. Obviamente puedes utilizar tu editor preferido. Creamos el fichero:
$ vi list_files.sh
E incluimos el contenido que queramos. En este caso listar ficheros
#!/bin/bash
ls
Una vez con los permisos adecuados podemos ejecutar el script $ chmod a+x list_files.sh
$ bash list_files.sh
Y veremos por consola el siguiente output.
exercices inputs lorem lorem-copy modules outputs README.md
- Almacena en una variable
name
tu nombre mediante el comandoread
.
read NAME
- Imprime a variable.
echo $NAME
- Crea un directorio nuevo que se llame como el contenido de la variable
name
.
mkdir $NAME
- Elimina ese directorio.
rmdir $NAME
- Por cada archivo dentro de la carpeta
lorem
imprime el número de carácteres que tienen sus nombres. Intenta primero mostrar los archivos mediante un bucle for. Luego calcula la longitud de cada elemento de la iteración.
- Imprime los ficheros
- Imprime las longitudes de los nombres de los ficheros.
- Abrir todos los ficheros .py =>
ls -la|grep -e '*.py' | wc -l