Просто как это.
(Баш)
for i in * ; do mv -- "$i" "${i:0:5}" ; done
Вуаля.
И объяснение из Advanced Bash-Scripting Guide ( Глава 10. Управление переменными ) (с дополнительными NOTEs встроенными, чтобы выделить ошибки в этом руководстве):
Извлечение подстроки
${string:position}
Извлекает подстроку из $stringat $position.
Если $stringпараметр "*" или "@", то это извлекает позиционные параметры, начиная с $position.
${string:position:length}
Извлекает $lengthсимволы подстроки из $stringat $position.
NOTEпропущенные кавычки вокруг расширений параметров! echoне должен использоваться для произвольных данных.
stringZ=abcABC123ABCabc
# 0123456789.....
# 0-based indexing.
echo ${stringZ:0} # abcABC123ABCabc
echo ${stringZ:1} # bcABC123ABCabc
echo ${stringZ:7} # 23ABCabc
echo ${stringZ:7:3} # 23A
# Three characters of substring.
# Is it possible to index from the right end of the string?
echo ${stringZ:-4} # abcABC123ABCabc
# Defaults to full string, as in ${parameter:-default}.
# However . . .
echo ${stringZ:(-4)} # Cabc
echo ${stringZ: -4} # Cabc
# Now, it works.
# Parentheses or added space "escape" the position parameter.
В позиции и длины аргументы могут быть «параметрироваться» , то есть, представлены в качестве переменной, а не в качестве числовой константы.
Если $stringпараметр "*" или "@", то это извлекает максимум $lengthпозиционных параметров, начиная с $position.
echo ${*:2} # Echoes second and following positional parameters.
echo ${@:2} # Same as above.
echo ${*:2:3} # Echoes three positional parameters, starting at second.
NOTE: expr substrрасширение GNU.
expr substr $string $position $length
Извлекает $lengthсимволы из $stringначала $position.
stringZ=abcABC123ABCabc
# 123456789......
# 1-based indexing.
echo `expr substr $stringZ 1 2` # ab
echo `expr substr $stringZ 4 3` # ABC
NOTEЭто echoизбыточно и делает его еще менее надежным. Использование expr substr + "$string1" 1 2.
NOTE: exprвернется с ненулевым состоянием выхода, если выход равен 0 (или -0, 00 ...).
КСТАТИ. Книга присутствует в официальном репозитории Ubuntu as abs-guide.
bashтэг, если вы спрашиваетеshрешение?