0

染色体名を変更する次の 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 をすべての新しいファイル名の一部として保持しながら、結果を新しいパスに挿入する方法です。結果は常に /myoldpath/ に挿入されるか、文字どおり "filename.chr.bam" が /mynewpath/ に挿入されます。その部分の構文に何か欠けています$file > /mynewpath/${filename}_chr.bamか?

任意の助けをいただければ幸いです

4

1 に答える 1

0

filename=echo $file |を変更してみてください。カット -d "." -f 1; to filename=$(echo $file| rev| cut -d "/" -f 1|rev|cut -d "." -f1 );

于 2017-01-06T09:09:40.543 に答える