awk命令批量生成运行命令

您所在的位置:网站首页 awk中使用if awk命令批量生成运行命令

awk命令批量生成运行命令

#awk命令批量生成运行命令| 来源: 网络整理| 查看: 265

基本命令 awk '{print $1}' name.lst #表示打印name.lst这个文件中的第一行 使用实例 1.目标

现在我们有一个SRR2176358_1.fq.gz;SRR2176359_1.fq.gz;SRR2176360_1.fq.gz;SRR2176361_1.fq.gz;SRR2176362_1.fq.gz;SRR2176363_1.fq.gz;SRR2176364_1.fq.gz SRR2176365_1.fq.gz;SRR2176366_1.fq.gz;SRR2176367_1.fq.gz;SRR2176368_1.fq.gz SRR2176369_1.fq.gz;SRR2176370_1.fq.gz;SRR2176371_1.fq.gz;SRR2176372_1.fq.gz;SRR2176373_1.fq.gz;SRR2176374_1.fq.gz;SRR2176375_1.fq.gz;SRR2176376_1.fq.gz SRR2176377_1.fq.gz;SRR2176378_1.fq.gz;SRR2176379_1.fq.gz;SRR2176380_1.fq.gz SRR2176381_1.fq.gz这么多个数据需要使用fastp进行质控,如果一个个的跑太麻烦,毕竟一个要跑300多秒。所以考虑使用awk命令批量生成运行命令

2.步骤

第一步 生成name.lst

ls *.gz > name.lst #将所有以.gz结尾的文件的文件名打印到一个叫name.lst的文档中

第二步 awk命令生成

awk '{print "fastp -i "$1" -o /filtered/"$1" -h "$1".html"}' name.lst #针对单端测序徐,使用fastp的基本命令如上,生成后可以预览一下命令有没有错误。

我们可以通过" "在(1)的前或后增加我们想要添加的内容,若是双端测序,我们可以把一端放在第一行(1),一端放在第二行($2)。然后通过fastp的双端质控命令完成操作。 第三步 并行进程加速运行

awk '{print "fastp -i "$1" -o /filtered/"$1" -h "$1".html &"}' name.lst

第四步 将命令写入shell脚本

awk '{print "fastp -i "$1" -o /filtered/"$1" -h "$1".html &"}' name.lst > fastp_genek.sh

第五步 运行

nohup sh fastp_genek.sh #后台运行shell脚本


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3