次のようにして、キューシステムで輻輳したタスクをフィルタリングできます。
> 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
しかしqjobs | grep "racon" | cut -d " " -f2
、例えば何も返されませんracon-3/utg003325l-racon-3.fasta
。私が逃したものは何ですか?
答え1
すべてのスペースはフィールド番号に含まれ、先行スペースと連続スペースも含まれます。したがって、代わりに-f9
使用する必要があります-f2
。または、awk '{ print $2 }'
切り取りコマンドを完全に置き換えることもできます。
答え2
出力間隔が一定の場合
qjobs | grep "racon" | cut -c 16-47
次のような出力を生成します。
racon-3/utg002276l-racon-3.fasta
最初の列をPIDや他の識別子のように見せるには、次の手順を実行します。
qjobs | grep "racon" | awk ' { print $1 } '
探しているならutg002276l ユーザー名に似た部分:
qjobs | grep "racon" | awk -F'[/-]' ' { print $3 } '
これにより、awk はスラッシュとダッシュ文字をフィールド区切り文字として使用し、3 番目の列を印刷します。
答え3
すべてのスペースを1つに圧縮できます。
qjobs | grep "racon" | tr -s ' ' | cut -d " " -f3