2013-09-19 2 views
0

Мне нужно перенести кучу файлов с хоста производства на мой локальный компьютер. Я уже в директории, из которой мне нужно передать файлы. Я знаю имена файлов журналов, которые мне нужно перенести на мою локальную машину. Это log.timestamp.hostnames, и они имеют тенденцию быть длинными. Как я могу передать навалом, используя scp? Есть ли более простой способ, чем просто ввести длинные имена файлов? Могу ли я получить его из имени файла?Scp bulk файлы из текущей директории в другой каталог

ответ

0

Если вы не хотите, чтобы скопировать все файлы в текущем каталоге (который будет просто с помощью ./*), что вы могли бы сделать, это разобрать все файлы в вашем текущем каталоге и запустить на нем регулярное выражение, чтобы соответствовать log.timestamp.hostname, а затем передать это в scp. Для регулярного выражения я нашел этот пример regex with find. Для отправки больших файлов здесь приведен пример: scp syntax. Что-то вроде:

scp $(find . -regextype sed -regex ".*/log\.[a-z0-9\-]\.[a-z0-9\-]") [email protected]:~/ 

Возможно, вы захотите изменить регулярное выражение, чтобы заставить его работать.

0

Эта опция выполнения командной строки помогла решить мою проблему передачи подмножества файлов. Поскольку AIX unix не предоставляет параметр -regextype с помощью find, я использовал команду grep вместо этого, чтобы извлечь файлы tab1.msg to tab9 msg

scp $(find . -name "*" | grep tab.\.msg) [email protected]:/tmp 
Смежные вопросы