下面,awk
我尝试在后面的数字为偶数时删除.bam
和,并在 后面的数字为奇数时保留文件。 确实 执行了,但没有打印任何文件。 我添加了以进行验证,但会删除它们。 谢谢 :)。.bam.bai
IonCode_
IonCode_
awk
print
使用 find 命令
find . -maxdepth 1 -type f | awk -F'[._]' '($NF=="bam" && !($(NF-1)%2)) || ($NF=="bam.bai" && $(NF-1)%2) {print "rm " $0}'
目录中的文件
IonCode_0241_19-000-Last-First.bam
IonCode_0241_19-000-Last-First.bam.bai
IonCode_0242_19-000-Last-First.bam
IonCode_0242_19-000-Last-First.bam.bai
脚本执行后剩余所需文件
IonCode_0241_19-000-Last-First.bam
IonCode_0241_19-000-Last-First.bam.bai
答案1
您将其.
作为可能的字段分隔符,因此最后一个字段不可能包含a .
–相反,它将是$NF == "bai" && $(NF-1) == "bam" && $(NF-2)...
。
有一个更简单的选项,不涉及 awk:
rm IonCode_[0-9][0-9][0-9][02468]_*.bam
rm IonCode_[0-9][0-9][0-9][02468]_*.bai