El delimitador predeterminado para cut
es un carácter de tabulación -si desea cut
espacio -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 -f3
y -f2
porque 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
Предполагая, что можно сохранить структуру каталогов в локальном каталоге, вы можете решить эту проблему, используя 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
не будет их проходить, а это означает, что он не найдет интересующие вас файлы в подкаталогах.