¿Cómo puedo realizar distintas acciones en un solo bucle?
Todos los bucles que has visto hasta ahora tienen una única orden o canalización en su cuerpo, pero un bucle puede contener cualquier número de comandos. Para decirle al shell dónde acaba uno y empieza el siguiente, debes separarlos con punto y coma:
for f in seasonal/*.csv; do echo $f; head -n 2 $f | tail -n 1; done
seasonal/autumn.csv
2017-01-05,canine
seasonal/spring.csv
2017-01-25,wisdom
seasonal/summer.csv
2017-01-11,canine
seasonal/winter.csv
2017-01-03,bicuspid
Supón que olvidas el punto y coma entre los comandos echo
y head
en el bucle anterior,
para que pidas al intérprete de comandos que se ejecute:
for f in seasonal/*.csv; do echo $f head -n 2 $f | tail -n 1; done
¿Qué hará el shell?
Este ejercicio forma parte del curso
Introducción a Shell
Ejercicio interactivo práctico
Pon en práctica la teoría con uno de nuestros ejercicios interactivos
