【发布时间】:2016-06-22 14:40:32
【问题描述】:
我想使用文件夹名称重命名子目录中的文件。我的文件是这样的格式
fastqjoin
un1
fasta
fastq
un2
fasta
fastq
我想把它改成
foldername
un1
fasta
fastq
un2
fasta
fastq
我发现此脚本可以使用文件夹名称更改文件名,但我想添加正则表达式以便它可以在一个脚本中更改所有文件
for subdir in *; do mv $subdir/fastqjoin.un1.fasta $subdir/$subdir.un1.fasta; done;
我尝试用un[0-9].fast/D, un/d.fast/D 替换脚本,但它们都不起作用。例如:
f`or subdir in *; do mv $subdir/fastqjoin.un[0-9].fast/D $subdir/$subdir.un[0-9].fast/D; done;`
【问题讨论】:
-
向我们展示您存放文件的文件夹结构。
-
文件夹结构是目录/子目录/文件,我的终端是目录。
-
在我看来您只是想将
fastqjoin文件夹重命名为foldername。 -
@4castle 是的,但我想保持 un[digit] 和相同的文件格式。所以 fastqjoin.un1.fastq, fastqjoin.un2.fastq, fastqjoin.un1.fasta, fastqjoin.un2.fasta 会改成 foldername.un1.fasta, foldername.un2.fasta, foldername.un1.fastq, foldername.un2 .fastq.
-
我将编辑您的问题,使其更具可读性。希望这能解决问题。