如何将sed/samtools结果输出到新目录

如何将sed/samtools结果输出到新目录,sed,samtools,Sed,Samtools,我有以下更改染色体名称的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\1/' -e 's/SN:MT/SN:chrM/' | samtools reheader - $file > /mynewpath/${filename}_chr.bam; done 我

我有以下更改染色体名称的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\1/' -e 's/SN:MT/SN:chrM/' | samtools reheader - $file > /mynewpath/${filename}_chr.bam; done  
我的问题是如何在新路径中插入结果,同时将变量$filename作为每个新文件名的一部分?它总是将结果插入/myolpath/或/mynewpath/中的“filename.chr.bam”。 我是否在那部分
$file>/mynewpath/${filename}\u chr.bam
的语法中遗漏了什么


任何帮助都将不胜感激

尝试更改filename=echo$file | cut-d“。-f 1;到文件名=$(echo$file | rev | cut-d”/“-f1 | rev | cut-d”。-f1)

感谢@lurii的回复。我尝试了这个,但是我得到了一个以“\u chr\u bam”形式的输出。以下是我尝试的:
用于/myolpath/*.bam中的文件;do filename=$(echo$文件| cut-d”“-f 1);samtools视图-H$file | sed-e's/SN:([0-9XY])/SN:chr\1/'-e's/SN:MT/SN:chrM/'| samtools reheader-$file>/mynewpath/${filename}chr.bam;完成
如果将命令更改为/mynewpath/${file}\u chr.bam,文件名是什么样子?您可以尝试此文件名=$(echo$file | rev | cut-d”/“-f1 | rev | cut-d”。-f1);