Buenooooo :-)
Vamos por partes:
1. printf (print formatted) es una función que, en este caso, escribe en pantalla y permite añadir texto, variables, etc.
Es como un "echo" pero con potencia.
https://www.it.uc3m.es/pbasanta/asng/co ... tf_es.html
El parámetro printf formatea una cadena de texto y la envía a stdout, pero lo que hagas con la salida de ese comando es problema de otro, no de printf
2. Para comandos más complejos tienes el parámetro exec
Código: Seleccionar todo
~/upload $ find . -type f -exec echo "Nombre del archivo: " {} \; -exec echo "Borrando archivo " {} \;
Nombre del archivo: ./111.txt
Borrando archivo ./111.txt
Nombre del archivo: ./222.txt
Borrando archivo ./222.txt
Mira los muchos, muchos ejemplos de -exec en este link:
https://www.servidoresadmin.com/comando ... ll-script/
3. Al final, por comodidad y limpieza, acabarás creando un scipt en bash para gestionarlo mejor que con un sólo comando.
Y entonces vendrán los loops, las estructuras de control más sencillas:
¿Ves? creo un buclie y a la variable "i" le asigno números en este caso.
Y luego imprimo el valor de i usando $i
En mi ejemplo uso una enumeración {1,2,3}, pero podemos usar la salida de un comando.
Por ejemplo, podemos hacer un bucle con los datos que devuelve el comando ls:
¿Ves? aquí la variable "file", en cada iteración, tiene el valor de cada una de las líneas que me devuelve el comando ls
Y esto me permite manipular la cadena de texto $file, puedo imprimirla en pantalla, copiarla, moverla...
Y sobre todo, puedo hacer varias funciones, una en cada línea:
Código: Seleccionar todo
for file in $(ls);
do
echo Voy a borrar el archivo $file;
echo $file >> ./borrados.txt
rm -f $file
done
Voy a borrar el archivo 111.txt
Voy a borrar el archivo 222.txt
$ cat borrados.txt
111.txt
222.txt
Y en el próximo post, más :-)