Сжатие нескольких файлов в различных папках без структуры папок

Так как у Вас есть пользовательский доступ к исходному серверу (тот), почему бы не войти и выполнить Вашу команду scp на том сервере непосредственно... Если Вы волнуетесь, что это займет слишком много времени, то запустите команду внутри a screen затем отсоединение с экрана с Ctrl+a d и позвольте ему работать.

Однако, если необходимо сделать это от рабочей станции, и ключи SSH с источника на целевой сервер работают хорошо, затем отправляют scp управляйте как параметр ssh команда, как:

ssh user@source 'scp /path/to/file user@destination:/path/to/file'
4
10.01.2015, 15:56
2 ответа

Поддерживает GNU TAL - преобразование = выражение . В вашем случае это будет - преобразование S, /, -, (кроме не было бы ни ведущих - , которые я подозреваю, будет в порядке).

1
27.01.2020, 20:57

Добавление в @Marks answer

Мы можем сделать это с помощью -T и --трансформировать переключатели команды tar.

У меня есть структура каталога, как показано ниже.

|-- foo1
|   |-- file1.txt
|   |-- file2.txt
|   `-- file3.txt
|-- foo2
|   |-- file4.txt
|   |-- file5.txt
|   `-- file6.txt
|-- foo3
|   |-- file7.txt
|   |-- file8.txt
|   `-- file9.txt
`-- foo4
    |-- file10.txt
    |-- file11.txt
    `-- file12.txt

Мы можем смонтировать файлы с включенным именем каталога

$ find -type f | tar --transform="s,/,-,2" -czvf compress.tgz -T -

И без включенного имени каталога.

$ find -type f | tar --transform="s,.*/,," -czvf compress.tgz -T -
2
27.01.2020, 20:57

Теги

Похожие вопросы