Ваше решение работает, если вы удалите параметр -t
, как объяснил Эрик.
Это альтернативное решение, использующее подстановку переменных вместо awk
для перемещения битов имени файла:
for name in '['*; do
tag="${name%% *}"
title="${name#* }"
mv "$name" "$title - $tag"
done
${name%% *}
удаляет все после первого пробела в $name
(, включая пробел )и ${name#* }
удаляет все до первого пробела (, включая пробел ).