Сценарий чтения оболочки для sftp

У меня это работает:

% cat read.sh !/bin/sh file=list.txt while read line do echo "$line" cut -d' ' -f27 | sed -n '$p' > file2 done < "$file" % cat list.txt sftp> #!/bin/sh sftp> sftp> cd u/aaa sftp> ls -lrt x_*.csv -rwxr-xr-x 0 1001 1001 12274972 May 13 21:07 x_20150501.csv -rw-r--r-- 0 1001 1001 0 May 13 21:44 x_20150601.csv -rw-r--r-- 0 1001 1001 0 May 13 21:44 x_20150701.csv -rw-r--r-- 0 1001 1001 0 May 13 21:44 x_20150801.csv -rw-r--r-- 0 1001 1001 0 May 13 21:44 x_20150901.csv -rw-r--r-- 0 1001 1001 0 May 13 21:45 x_20151001.csv -rw-r--r-- 0 1001 1001 0 May 13 21:45 x_20151101.csv -rw-r--r-- 0 1001 1001 0 May 13 21:45 x_20151201.csv % cat file2 x_20151201.csv 

Первый вопрос: есть ли что-то более гламурное, чтобы читать только последний элемент на последней строке? Вы бы использовали cut и sed? Это перенаправление листинга sftp directoy.

  • Когда он не запускается с терминала, Emacs НЕ выбирает переменную среды SSH_AUTH_SOCK
  • Список сведений о файлах / каталогах с пробелами
  • Ограничить пользователя SFTP несколькими папками
  • Странная ошибка «Нет такого файла» с «xargs» и «file»
  • Неожиданное поведение отступов, когда я устанавливаю терминал в режим raw - почему это происходит?
  • Поиск подстроки без учета регистра в скрипте оболочки
  • Второй вопрос: что бы ни было в файле2, я хочу, чтобы он читал из пакетного файла sftp, чтобы получить точный файл.

     % cat fetch.sh #!/bin/sh cd u/aaa !sh read.sh !< file2 get bye 

    Как вы можете себе представить, sftp не нравится get без каких-либо файлов, так как я могу читать в файле2, чтобы получить этот файл с сервера sftp?

      % sftp -b fetch.sh user@pulse sftp> #!/bin/sh sftp> sftp> cd u/aaa sftp> !sh read.sh sftp> #!/bin/sh sftp> !< file2 x_20151201.csv sftp> get You must specify at least one path after a get command. 

  • Печать определенных значений данных изображения Exif с помощью exiv2
  • Запрос терминала перезаписывает текущую строку
  • Объединение тысяч файлов:> vs >>
  • скользящий diff для хранения очень похожих файлов?
  • Запуск make для LFS жалуется на [и о недостающем gawk
  • Эхо-список процесса не работает
  • One Solution collect form web for “Сценарий чтения оболочки для sftp”

    Вы можете комбинировать все действия в одной команде:

     sftp user@host:/path/to/file/$(tail -1 file1.txt |tr -s ' ' |cut -d ' ' -f 9) 

    Это приведет к загрузке файла в текущий рабочий каталог. Если вам нужно извлечь файл в другой каталог, укажите целевой каталог в качестве следующего аргумента команде sftp.

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