0
我在一個文件名以fastq.gz
結尾的目錄中工作。使用如下的循環,我將運行一個工具。unix for循環修改輸出文件名稱
for i in
LS ; do if [[ "$i" == *".gz" ]]; then bwa aln ../hg38.fa $i > $i | sed 's/fastq.gz/sai/g'; fi; done
我的問題是,我希望我的輸出文件名與.sai結束fastq.gz,而不是與保持文件名相同的其餘部分。然而,它首先在>
之後看到$i
,它會修改輸入文件本身。我嘗試使用它像<($i | sed 's/fastq.gz/sai/g')
但這也不起作用。寫這個的正確方法是什麼?
這是一個非常好的方法,並解決了我的問題,謝謝。只是出於好奇,你是否也知道如何給予偏好sed $ i並獲得修改後的$ i如問題中所示? –
嗯,我會一直這樣做,因爲它是一個腳本,你不需要競爭它,但你可以這樣做:'CMD> $(echo $ file | sed's/fastq.gz/sai/g') ' –