Seu segundo achado deve funcionar tanto quanto eu entendo - se você canalizar isso em wc -l
, ele retorna 427 como esperado?
Aqui está um rápido script que deve fazer o mesmo:
#!/bin/bash
for torrent in $(find /path/to/target/dir -mindepth 2 -type f); do
count=0
# get filename and remove any spaces
filename=$(echo $torrent | tr -d ' ' | awk -F '/' '{print $NF}')
# if it exists in the current dir, name it $count-$filename
while [ -f /path/to/target/dir/$filename ]; do
((count++))
filename=$count-$filename
done
# do the move
mv "$torrent" /path/to/target/dir/$filename
done