script - operaciones con cadenas en bash
Cómo usar el operador de mod en bash? (4)
Debe poner sus expresiones matemáticas dentro de $ (()).
Un trazador de líneas:
for i in {1..600}; do wget http://example.com/search/link$(($i % 5)); done;
Múltiples líneas
for i in {1..600}; do
wget http://example.com/search/link$(($i % 5))
done
Estoy intentando una línea como esta:
for i in {1..600}; do wget http://example.com/search/link $i % 5; done;
Lo que trato de obtener como resultado es:
wget http://example.com/search/link0
wget http://example.com/search/link1
wget http://example.com/search/link2
wget http://example.com/search/link3
wget http://example.com/search/link4
wget http://example.com/search/link0
Pero lo que estoy consiguiendo es simplemente:
wget http://example.com/search/link
Esto podría estar fuera de tema. Pero para el wget in for loop, ciertamente puedes hacer
curl -O http://example.com/search/link[1-600]
Pruebe lo siguiente:
for i in {1..600}; do echo wget http://example.com/search/link$(($i % 5)); done
La sintaxis $(( ))
realiza una evaluación aritmética de los contenidos.
for i in {1..600}
do
n=$(($i%5))
wget http://example.com/search/link$n
done