Substituir:
find /Users/benjaminbaker/Documents/Thesis/Data/EIA_AMI/Test/ -iname '*$i*' -maxdepth 1 -type f -exec mv -n {} /Users/benjaminbaker/Documents/Thesis/Data/EIA_AMI/Test/$i/ \;
Com:
find /Users/benjaminbaker/Documents/Thesis/Data/EIA_AMI/Test/ -maxdepth 1 -iname "*$i*" -type f -exec mv -n {} /Users/benjaminbaker/Documents/Thesis/Data/EIA_AMI/Test/$i/ \;
O problema é que $i
não se expande entre aspas simples. Então, use "*$i*"
no lugar de '*$i*'
.
Além disso, find
prefere especificar opções, como -maxdepth
, antes dos testes, como -iname
. No código acima, o pedido foi alterado de acordo.
Por fim, em dois lugares, você usa ...Test/$i
sem aspas. Isso funciona aqui apenas porque $i
não contém espaços em branco. Se assim fosse, deveria estar entre aspas duplas.