簡體   English   中英

在命令行上工作,但不能在shell腳本中工作

[英]works on the command line but not in a shell script

我有這條線

samtools view -h file | awk '$3=="chr$a" || /^@/' | samtools view -S - -b -o output

-S和-b之間的破折號應該向程序表明它來自STDIN。 我可以在命令行上的perl腳本中運行它,但是一旦我嘗試將其移動到Shell腳本中,它便會創建文件而不會輸出任何數據。 任何想法將不勝感激。

如果還沒有,請查看samtools FAQ 這里有一些示例,這些示例與您要對管道執行的操作類似。

自從我使用samtools以來已經有一段時間了,但是我會像這樣編寫您的命令:

samtools view -h file | awk '$3=="chr$a" || /^@/' | samtools view -S -b - > output.bam

您還提到了已將命令移至Shell腳本。 Shell腳本還有其他功能嗎? 如果仍然無法使用,我將其發布給我們查看。

在shell腳本中,單引號內的$ a將不會擴展:

for a in {1..22} do 
  samtools view -h AD3.sorted.bam | awk '$3=="chr$a" || /^@/' | samtools view -S - -b -o chr$a.bam 
done 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM