Задать вопрос
erohin_d
@erohin_d
DevOps в ЛАНИТ

Как скопировать строку из файла на удалённом сервере?

Есть скрипт на bash, в который надо добавить код, который сможет залезть на удаленный сервер, залезть в файл и скопировать от туда строку.

Ничего пока не придумал, кроме как скопировать удаленно файл на свой ПК и уже тут у него вытащить нужную строку.
Но этот вариант неудачный ибо, на практике эти фалы будут достигать 60 мб и больше.
  • Вопрос задан
  • 543 просмотра
Подписаться 1 Оценить Комментировать
Решение пользователя Валерий Рябошапко К ответам на вопрос (6)
valerium
@valerium
Изобретая велосипед
ssh remote.server.ru "grep needle /path/to/file"
Как-то так. Выведет то, что найдёт grep. Соответственно, grep можно заменить на tail, head, sed или любую другую команду. Если манипуляция какая-то шибко сложная (потребуется много разных кавычек), то можно использовать heredoc, передать скрипт на стандартный ввод ssh.

ssh remote.server.ru <<CODE
awk -F';' '/pattern/ {print $3}' /path/to/file
CODE


Но это при условии, что скрипт будет запускаться ручками, то есть Вы сами введёте пароль от учётки на удалённом сервере или пароль от ключа. Если нужно делать это автоматически, то лучше на стороне удалённого сервера написать скрипт, который эту строку будет по какому-нибудь HTTP отдавать.
Ответ написан