如何将 sed/samtools 结果输出到新目录
how to ouput sed/samtools result into new directory
我有以下更改染色体名称的 sed 命令:
for file in /myoldpath/*.bam; do filename=`echo $file | cut -d "." -f 1`; samtools view -H $file | sed -e 's/SN:\([0-9XY]\)/SN:chr/' -e 's/SN:MT/SN:chrM/' | samtools reheader - $file > /mynewpath/${filename}_chr.bam; done
我的问题是如何将结果插入新路径,同时将变量 $filename 作为每个新文件名的一部分?它总是将结果插入 /myoldpath/ 或字面上 "filename.chr.bam" 在 /mynewpath/ 中。
我是否在该部分的语法中遗漏了某些内容 $file > /mynewpath/${filename}_chr.bam
?
任何帮助将不胜感激
尝试更改 filename=echo $file |切-d“。” -f 1; to filename=$(echo $file| rev| cut -d "/" -f 1|rev|cut -d "." -f1 );
我有以下更改染色体名称的 sed 命令:
for file in /myoldpath/*.bam; do filename=`echo $file | cut -d "." -f 1`; samtools view -H $file | sed -e 's/SN:\([0-9XY]\)/SN:chr/' -e 's/SN:MT/SN:chrM/' | samtools reheader - $file > /mynewpath/${filename}_chr.bam; done
我的问题是如何将结果插入新路径,同时将变量 $filename 作为每个新文件名的一部分?它总是将结果插入 /myoldpath/ 或字面上 "filename.chr.bam" 在 /mynewpath/ 中。
我是否在该部分的语法中遗漏了某些内容 $file > /mynewpath/${filename}_chr.bam
?
任何帮助将不胜感激
尝试更改 filename=echo $file |切-d“。” -f 1; to filename=$(echo $file| rev| cut -d "/" -f 1|rev|cut -d "." -f1 );