rm은 그 반대와 일치합니다.

rm은 그 반대와 일치합니다.

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

관련 정보