В простом случае, который вы показали выше, где каждая строка имеет два "слова", целевой каталог и новое имя, и где ни одно из них не может содержать пробелов, вы можете просто сделать следующее:
while read -r from to; do mv "$from" "$to"; done < file
Это прочитает каждую строку в file
, присвоит первую строку (до первого пробела) $from
и остальную часть строки $to
, а затем выполнит mv
для каждой из них.