Eu sou capaz de filtrar os trabalhos que ficaram presos em nosso sistema de filas com:
> qjobs | grep "racon"
5240703 racon-3/utg001564l-racon-3.fasta H 1 1 0 10.0 0.0 150 :03
5241418 racon-3/utg002276l-racon-3.fasta H 1 1 0 10.0 0.0 150 :02
5241902 racon-3/utg002759l-racon-3.fasta H 1 1 0 10.0 0.0 150 :03
5242060 racon-3/utg002919l-racon-3.fasta H 1 1 0 10.0 0.0 150 :04
5242273 racon-3/utg003133l-racon-3.fasta H 1 1 0 10.0 0.0 150 :03
5242412 racon-3/utg003270l-racon-3.fasta H 1 1 0 10.0 0.0 150 :04
5242466 racon-3/utg003325l-racon-3.fasta H 1 1 0 10.0 0.0 150 :03
No entanto, qjobs | grep "racon" | cut -d " " -f2
não retornou, por exemplo racon-3/utg003325l-racon-3.fasta
. O que eu perdi?
Cada espaço conta para o número do campo, mesmo os iniciais e consecutivos. Portanto, você precisa usar
-f9
em vez de-f2
. Alternativamente, você pode usarawk '{ print $2 }'
no lugar do comando de corte inteiramente.Se a saída for consistente em seu espaçamento
produziria uma saída como
Se você quiser a primeira coluna, que se parece com um PID ou algum outro identificador, então:
Se você está procurando a parte utg002276l que se parece com um nome de usuário:
Isso faz com que o awk use os caracteres barra e traço como separadores de campo e imprima a terceira coluna.
Você pode espremer todos os espaços em um: