如何从多个文件名中删除字母,数字和非字母数字字符串,其中每个文件的值不同:
文件示例:
11SP60_H5LMLDSX7_AAGATACACG-TGTTAGCACA_L004_R1.fastq.gz
12HH32_H5LMLDSX7_TGCAATGAAT-TTACTTCTGG_L001_R2.fastq.gz
B00699_H5LMLDSX7_CCGCTCCGTT-CTTCGCCGTA_L002_R1.fastq.gz
A80101_H5LMLDSX7_TAGGTATGTT-CTTGGTCTCG_L003_R1.fastq.gz
我想要的输出示例:
11SP60_L004_R1.fastq.gz
12HH32_L001_R2.fastq.gz
B00699_L002_R1.fastq.gz
A80101_L003_R1.fastq.gz
由于使用权限问题,我无法使用删除功能。谢谢大家!
2条答案
按热度按时间nwlls2ji1#
纯
bash
:在POSIX shell中也可以使用。您不必调用外部实用程序(如
sed
或awk
)。Bash和POSIX shell具有执行这种字符串操作的内置支持。5uzkadbs2#
您需要循环查看文件名。在bash中,这将是:
看看输出。如果你对
bash
不是很有经验,那么先试试echo
是个好主意。否则,如果你犯了错误,你可能会得到不想要的结果。当您对新名称的正确性感到满意时,请将
与