首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用rename命令的输出使目录wo重命名文件

使用rename命令的输出使目录wo重命名文件
EN

Stack Overflow用户
提问于 2019-09-06 16:45:18
回答 1查看 22关注 0票数 1

我有一个包含多个文件的目录,它们都以"_1.fastq.gz“或"_2.fastq.gz”结尾

代码语言:javascript
复制
ERR3258060_1.fastq.gz  
ERR3258060_2.fastq.gz  
ERR3258861_1.fastq.gz  
ERR3258861_2.fastq.gz

我想要做的(第一步)是获取所有以_1.fastq.gz结尾的文件,保留文件名的前10个字符(ERR32.)并创建一个目录

因此,这些目录将类似于ERR3258060 ERR3258861

到目前为止,我已经使用bash尝试了以下操作

代码语言:javascript
复制
for f in *_1.fastq.gz
do
echo $f | rename -n 's/_1.fastq.gz//' * | mkdir
done

命令按照我想要的方式生成文件名,但是mkdir不会接受重命名的输出,它只会说“缺少操作数”,我如何才能让mkdir接受上一条命令的结果?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-06 17:18:06

不需要使用rename。您可以只使用sed。在第一步中,创建目录名,然后在mkdir中使用它。

代码语言:javascript
复制
for f in *_1.fastq.gz
do
    dir=$(echo $f | sed 's/_1.fastq.gz//')
    mkdir $dir
done
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57818643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档