HPCに6490のジョブを提出しました。
> ls -1 split-data/*.fasta | wc -l
6490
> ls -1 split-data/*.fasta
split-data/utg000001l.fasta
split-data/utg000002l.fasta
split-data/utg000003l.fasta
split-data/utg000004l.fasta
split-data/utg000005l.fasta
残念ながら、93の雇用が保留されました。
> 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
...
racon
これで、93の保留ジョブを再送信し、そのために正常に完了した入力ファイルを削除したいと思います。
次のコマンドは、削除したくないファイルを探します。
qjobs | grep "racon" | awk '{ print $2 }' | sed 's|racon-3/||' | sed 's|-racon-3||'
utg001564l.fasta
utg002276l.fasta
utg002759l.fasta
utg002919l.fasta
utg003133l.fasta
...
上記のコマンドを組み合わせてrm
逆方向一致削除を実行するにはどうすればよいですか?
事前にありがとう
答え1
ls -1 split-data/*.fasta | cut -d/ -f2 |sort > /tmp/total
qjobs | grep "racon" | awk '{ print $2 }' | sed 's|racon-3/||' | sed 's|-racon-3||' | sort > /tmp/dnot
comm -23 /tmp/total /tmp/dnot |
xargs printf 'split-data/%s\n' |
xargs -l -t rm