2017-06-19 79 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)" 
相关问题