Вы можете попробовать примерно так:
Это ваши файлы:
$ cd Project
$ find . -type f
./Part2/audio.mp3
./Part3/audio.mp3
./Part1/audio.mp3
Использование dirname
вернет имя их каталога (при условии, что у вас есть только один уровень подкаталогов). Таким образом:
$ find . -type f \
| while read i ; do \
d=$(dirname $i); echo renaming "$i" to "$d.mp3" ; \
done
renaming ./Part2/audio.mp3 to ./Part2.mp3
renaming ./Part3/audio.mp3 to ./Part3.mp3
renaming ./Part1/audio.mp3 to ./Part1.mp3
И это переименует их:
$ find . -type f | while read i ; do d=$(dirname $i); mv "$i" "$d.mp3" ; done
Когда вы запускаете screen
, он устанавливает переменную среды TERM
для внутренней оболочки, предпочитая использовать переменную внешней оболочки TERM
в качестве отправной точки, например,
screen.$TERM
Ваша внешняя оболочка была установлена на xterm-256color
(, что на самом деле неверно ), и screen
нашел описание терминала дляscreen.xterm-256color
(из пакета ncurses-term
. Когда вы подключаете (вscreen
)к удаленной машине без установленного описания терминала, вы столкнетесь с проблемами, подобными перечисленным в вопросе.
(Сообщение об ошибке относится к делу, но основная проблема в этой длинной ветке заключается в том, что репортер не понял, что различные терминалы на самом деле не действуют одинаково — сопровождающие пакета дали разумные ответы ).