Как удалить часть имени папки

У меня есть список имен папок

file1xxx file2xxx file3xxx 

Я хочу удалить «xxx» с его имени. Я попробовал следующий bash

 for dirname in $(cat ${in}/all.txt); do # all.txt include the name of the folders in specific path ${in} [ -d "$dirname" ] || continue mv ${in}/$dirname ${in}/${dirname//.nii/} done 

но это не сработало! какие-либо предложения?

One Solution collect form web for “Как удалить часть имени папки”

В bash вы можете сделать:

 while IFS= read -r dir; do [[ -d $dir ]] && mv -i "$dir" "${dir%???}"; done <all.txt 

это будет читать файл all.txt по очереди и проверить, существует ли каталог, представленный линией, если это так, то переименование будет выполнено соответствующим образом.

РЕДАКТИРОВАТЬ :

Чтобы удалить только один символ, сделайте шаблон расширения параметра ${dir%???} ${dir%?} , Метасимволу ? представляет один символ в bash . Так :

 while IFS= read -r dir; do [[ -d $dir ]] && mv -i "$dir" "${dir%?}"; done <all.txt 
  • bash: ввести символ в указанной позиции в файле
  • недокументированное изменение поведения «локального», встроенного в bash 4.3?
  • Почему этот обходной путь OSX / BSD / GNU не работает
  • Запустить скрипт bash из curl не удалось, пока из файла не удалось
  • Что означают квадратные скобки без «если» слева?
  • Преобразование списка стран в список континентов в Bash
  • Инструмент, для которого может быть запрограммирован запрос на запрос подтверждения
  • добавить имя сервера до имени файла с uname -n
  • Есть ли способ использовать подстановку параметров для запуска одного завитка на двух разных серверах?
  • Создание интерактивной оболочки для команды
  • Когда была введена верхняя и нижняя замена колонны в Баш?
  • Interesting Posts

    sftp для получения / загрузки файла .tar.gz

    круглый робин для завитки и dnsmasq

    Разрешения Maildir для курьера

    Как эхо makefile с помощью Make's $ (shell …)

    Почему / usr / sbin / racoon требуют входящих соединений, когда VPN активен в MacOS Sierra

    существует ли служба pastebin, которая поддерживает терминальные escape-последовательности?

    Почему Crontab дает мне ошибку с моим PHP-скриптом при его запуске с терминала?

    Вещи, которые нужно проверить после того, как ненадежное устройство USB было установлено

    Используйте команду sed для поиска текстового файла для записей 10000 и под

    Цвет шрифтов на удаленном экране терминала при использовании VI в linux

    Не удалось подключиться к серверу через PXE

    Копирование файлов на несколько компьютеров по локальной сети

    «Список аргументов слишком длинный» при выполнении cut и sed в подоболочке для установки переменной

    Как сканировать недопустимые символы в gedit?

    Каково значение вывода ss -p

    Linux и Unix - лучшая ОС в мире.