【发布时间】:2015-10-26 06:32:31
【问题描述】:
我有一个包含以下结构的数据文件夹:
sampleName1-randomNumbers/subfolder1/subfolder2/subfolder3/data1.gz
sampleName1-randomNumbers/subfolder1/subfolder2/subfolder3/data2.gz
sampleName2-randomNumbers/subfolder1/subfolder2/subfolder3/data1.gz
我想通过附加示例名称而不是要获取的随机数来修改每个示例文件夹中的所有 data.gz:
sampleName1-randomNumbers/subfolder1/subfolder2/subfolder3/sampleName1_data1.gz
sampleName1-randomNumbers/subfolder1/subfolder2/subfolder3/sampleName1_data2.gz
sampleName2-randomNumbers/subfolder1/subfolder2/subfolder3/sampleName2_data1.gz
这似乎应该是一个简单的 mv for 循环,但我无法弄清楚如何使用 basename 提取文件夹名称的一部分。
for i in */Data/Intensities/BaseCalls/*.gz; do mv $i "fastq""/"${i%%-*}"."`basename $i`; done
我不知道如何使文件保留在其原始文件夹中,但出于我的目的,将所有文件放入新文件夹(“fastq”)是可行的
【问题讨论】:
标签: bash