我需要重命名45個文件,而且我不想一個接一個地完成。這些是文件名:用bash循環重命名多個文件
chr10.fasta chr13_random.fasta chr17.fasta chr1.fasta chr22_random.fasta chr4_random.fasta chr7_random.fasta chrX.fasta
chr10_random.fasta chr14.fasta chr17_random.fasta chr1_random.fasta chr2.fasta chr5.fasta chr8.fasta chrX_random.fasta
chr11.fasta chr15.fasta chr18.fasta chr20.fasta chr2_random.fasta chr5_random.fasta chr8_random.fasta chrY.fasta
chr11_random.fasta chr15_random.fasta chr18_random.fasta chr21.fasta chr3.fasta chr6.fasta chr9.fasta
chr12.fasta chr16.fasta chr19.fasta chr21_random.fasta chr3_random.fasta chr6_random.fasta chr9_random.fasta
chr13.fasta chr16_random.fasta chr19_random.fasta chr22.fasta chr4.fasta chr7.fasta chrM.fasta
我需要將擴展名「.fasta」更改爲「.fa」。我試着寫一個bash腳本來做到這一點:
for i in $(ls chr*)
do
NEWNAME = `echo $i | sed 's/sta//g'`
mv $i $NEWNAME
done
但它不工作。你能告訴我爲什麼,或者提供另一種快速解決方案嗎?
謝謝!這裏
我不應該刪除我的意見,但我看到您在上述回答。謝謝。 – nickd 2012-01-17 17:48:58
不錯,使用'/%'和' - '作爲'mv'。我可能會在'for'循環中包含擴展名,'我在chr * .fasta'中包含 – c00kiemon5ter 2012-01-17 17:49:39
感謝您的完整解答! – Geparada 2012-01-17 17:50:28