2017-06-19 105 views
0

我怎樣才能得到這個查找命令將結果返回到變量?它在命令行上工作,但在腳本中不是那麼多。如何在腳本中將find結果返回給變量?

BZIP_FILES="$(find /dev/runs/sample -maxdepth 1 -type f -name \"*L*_R1*.fastq.gz\" | sort | head -1)" 

目錄的/ dev /運行/樣品

17-ABCC7-A-02-00-R_GAATCTTCGC_L001_R1_001.fastq.gz 
17-ABCC7-A-02-00-R_GAATCTTCGC_L002_R1_001.fastq.gz 
17-ABCC7-A-02-00-R_GAATCTTCGC_L003_R1_001.fastq.gz 
17-ABCC7-A-02-00-R_GAATCTTCGC_L004_R1_001.fastq.gz 
bak 
fusion 
SampleSheet.csv 

結果應該是17 ABCC7-A-02-00-R_GAATCTTCGC_L001_R1_001.fastq.gz

+0

所以.. 1)什麼結果做你得到? 2)爲什麼你要調用'gzip'文件'BZIP_FILES'? –

+0

變量名無效且結果爲空 – millsofmn

+0

刪除引號前的\ BZIP_FILES =「$(find/dev/runs/sample -maxdepth 1 -type f -name」* L * _R1 * .fastq.gz 「| sort | head -1)」' – Tamar

回答

0

更換轉義引號找到與單引號應該工作,即'*L*_R1*.fastq.gz\'

0

之間$()雙引號是句法,所以$()可以很容易地嵌套。

例如

echo "$(echo "$(echo "ok")")" 

而且「**」是不是需要找到裏面的-name選項,必須被引用,以避免水珠被擴展

BZIP_FILES="$(find /dev/runs/sample -maxdepth 1 -type f -name '*L*_R1*.fastq.gz' | sort | head -1)" 
BZIP_FILES="$(find /dev/runs/sample -maxdepth 1 -type f -name "*L*_R1*.fastq.gz" | sort | head -1)" 
相關問題