Как удаленно находить и копировать файлы без ошибок прав доступа или многократного входа в систему?

El delimitador predeterminado para cutes un carácter de tabulación -si desea cutespacio -datos separados, deberá especificarlo usando el argumento -d.

Su archivo de entrada parece usar múltiples espacios que lo hacen más difícil:

paste <(cut -d' ' -f5 file.txt) <(cut -d' ' -f3 file.txt)
1   10
2   11
3   12
4   13
5   14

o puede reemplazar los espacios por tabulaciones (eliminando las repeticiones)-tenga en cuenta que los campos se convierten en -f3y -f2porque su archivo tiene espacios en blanco iniciales:

paste <(tr -s ' ' '\t' < file.txt | cut -f3) <(tr -s ' ' '\t' < file.txt | cut -f2)

En este caso, sería más sencillo usar awk, p.

awk '{print $2,$1}' file.txt

o

awk '{print $2,$1}' OFS='\t' file.txt

si desea una tabulación -salida separada (como la obtendría depaste)ej.

$ awk '{print $2,$1}' OFS='\t' file.txt
1   10
2   11
3   12
4   13
5   14
1
19.06.2019, 23:08
1 ответ

Предполагая, что можно сохранить структуру каталогов в локальном каталоге, вы можете решить эту проблему, используя tarдля создания архива на удаленной стороне, потоковой передачи через SSH-соединение, а затем использовать tarлокально для распаковки. Это.

Например:

$ ssh user@server "
      cd '$find_directory' &&
      find. -name '*.genes.results' |
      tar -cf - -T -
  ' | tar -C "$copy_directory" -xvf -

Также можно использовать rsyncсо списком включения/исключения, чтобы копировать только файлы с нужным расширением. rsyncбудет использовать SSH по умолчанию. Это также сохранит структуру каталогов с удаленного сервера.

$ rsync -av --delete \
      --include '*/' \
      --include '*.genes.results' \
      --exclude '*' \
      --prune-empty-dirs \
      user@server:"$find_directory/" \
      "$copy_directory/"

Параметры rsyncбудут копировать каталоги и файлы с расширением .genes.results, а затем исключать все остальное. Он удалит каталоги, оставшиеся пустыми после копирования. Включение каталогов в первую очередь необходимо, поскольку в противном случае rsyncне будет их проходить, а это означает, что он не найдет интересующие вас файлы в подкаталогах.

3
27.01.2020, 23:22

Теги

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