我向我们的 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
...
现在,我想再次重新提交 93 个保留的作业,为此,我想删除racon
已成功完成的输入文件。
以下命令查找我不想删除的文件。
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