Переименуйте несколько файлов, используя FTP - PullRequest
3 голосов
/ 29 ноября 2011

У меня есть набор файлов в моей папке ftp. У меня есть доступ только в режиме FTP. Я хочу переименовать эти файлы с расширением .txt в .done

Пример:

1.txt, 2.txt, 3.txt 

до

1.done, 2.done, 3.done

В этом ftp работает только команда переименования. Я ожидаю что-то вроде

rename *.txt *.done 

чтобы переименовать их всех одной командой.

Ответы [ 4 ]

3 голосов
/ 29 ноября 2011

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

1 голос
/ 10 мая 2016

Привет всем,

Даже если вопрос довольно старый, я думаю, что другие могут быть полезны для прочтения моего предложения.

Я нашел отличное и простое решение, сочетающее curlftpfs , «Файловая система FTP на основе cURL и FUSE», как они ее определяют, и переименование linux и unix multi rename tool.

Я тестировал на linux mint 17 (и ядумаю, он должен работать в других дистрибутивах на основе Debian)

  1. установить curlftpfs

    sudo apt-get install curlftpfs
  2. создать папку монтирования

    sudo mkdir /mnt/ftp_remote_root
  3. смонтировать удаленный ftp в папку

    sudo curlftpfs -o allow_other -o user="USERWITH@CHARACTERTOO:PASSWORDTOACCESSUSER" ftp://my_ftp_server.com /mnt/ftp_remote_root/
  4. перейти в нужную удаленную папку ftp

    cd /mnt/ftp_remote_root/path/to/folder
  5. переименоватьпоскольку вам нужны файлы (-v shw новые имена, -n показывать заинтересованные файлы, опускать их для переименования файлов)

    sudo rename -v -n 's/match.regexp/replace.regexp/' *.file.to.change

Это может занять несколько секунд, потому что он работает в сети.

Я думаю, что это действительно мощный и простой в использовании.

Дайте мне знать, если обнаружите какие-либо проблемы.

Пока

Lorenzo

0 голосов
/ 18 мая 2018

Используйте следующую команду:

ren * .txt * .done

0 голосов
/ 19 июня 2017

попробуйте что-то вроде этого:

следующий пример перемещения / переименования файлов на FTP-сервере

для f в $ (lftp -u 'имя пользователя, пароль' -e 'установить ssl: verify-сертификат нет; ls /TEST/src/*.csv; выйти 'ftp.acme.com | awk '{print $ 9;}'); делать lftp -u 'username, password' -e "установить ssl: проверять-сертификат №; mv / TEST / src / $ f / TEST / dst / $ f; выйти "ftp.acme.com; сделано

примечание: используйте .netrc для хранения имени пользователя и пароля.

...