Страницы

Поиск по вопросам

среда, 25 декабря 2019 г.

Фильтрация файлов при выполнении scp

#bash #ssh #scp


Хочу скопировать с удаленного компьютера все файлы - с каким-нибудь фильтром. Например,
по названию: содержащие слово file как-то так:

$ scp user@192.168.1.10:/home/user/$(ls | grep file)


Не работает. Как можно это сделать - без копирования всего содержимого папки и фильтрации
на локальном компьютере?
    


Ответы

Ответ 1



вложенная оболочка (определяемая конструкцией $()) будет запущена на локальной машине. поэтому результаты выполнения команды ls в данном случае вряд ли могут быть полезны. копировать в текущий каталог файлы, содержажие слово file, можно, например, так: $ scp user@192.168.1.10:/home/user/*file* . искомое слово можно поместить в переменную: $ v=file scp user@192.168.1.10:/home/user/*$v* . более того, в ту же переменную можно поместить и поисковые квантификаторы: $ v='*file*' scp user@192.168.1.10:/home/user/$v .

Комментариев нет:

Отправить комментарий