В bash
вы можете:
while IFS= read -r dir; do [[ -d $dir ]] && mv -i "$dir" "${dir%???}"; done
это прочитает файл all.txt
строка за строкой и проверит, существует ли каталог, представленный строкой, если да, то переименование будет сделано соответственно.
РЕДАКТИРОВАТЬ:
Чтобы удалить только один символ, сделайте расширение параметра шаблон $ {dir% ???}
как $ {dir%?}
, метасимвол ?
представляет один символ в bash
. Итак:
while IFS= read -r dir; do [[ -d $dir ]] && mv -i "$dir" "${dir%?}"; done