Intereting Posts
Как проверить, было ли мое задание cron для резервного копирования с использованием tar было успешно сделать существующий сеанс rdesktop захватить клавиатуру / мышь Восстановить раздел Mac Как просмотреть MAC-адрес вашего компьютера с помощью «ifconfig»? Проблемы с Exim4 DNS Как я могу сделать свой основной DNS приоритетом по сравнению с другими серверами? Гном-терминал прекратил работу Что такое Dom0 и как его можно использовать? Маршрутизация мобильных соединений для нескольких восходящих линий Создайте массив в сценарии bash из установленных внешних USB-накопителей на macOS Каковы привилегии Polkit по умолчанию для Arch Linux для остановки, остановки и т. Д. И почему они так? В чем разница между вызовом скрипта perl через sh или perl Как установить easy_install с помощью интерпретатора Python, отличного от параметров по умолчанию, на CentOS? Ошибка загрузки Debian – невозможно загрузить исправление прошивки rtl_nic / rtl8168d-1.fw (-2) Какие шрифты подходят для символов Unicode

Переименование папки с помощью txt-файла

Я работаю в своем терминале, используя bash, чтобы переименовать папки:

1 2 3 4 5 

Я хотел бы переименовать их в соответствии с файлом a.txt:

 a 2 c 3 d 5 e 1 b 4 

Порядок в файле .txt полностью случайный. Я надеюсь найти способ, которым я могу переименовать папку, чтобы они стали:

 1 > e 2 > a 3 > c 4 > b 5 > d 

Есть какой-либо способ сделать это? Обратите внимание, что я использую OSX.

В простом случае, который вы показываете выше, где каждая строка имеет два слова, целевую директорию и новое имя и где ни одно из них не может содержать пробелов, вы можете просто сделать:

 while read -r from to; do mv "$from" "$to"; done < file 

Это будет читать каждую строку в file назначая первую строку (до первого пробела) до $from и остальную часть строки до $to а затем запускать mv для каждого из них.