如何在脚本中找到find命令将结果返回给变量?

时间:2017-06-19 18:04:42

标签: bash

如何获取此find命令以将结果返回到变量中?它可以在命令行上运行,但在脚本中没有那么多。

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

目录/ dev / runs / sample

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

2 个答案:

答案 0 :(得分:0)

替换转义的引号以使用单引号查找应该有效,即'*L*_R1*.fastq.gz\'

答案 1 :(得分:0)

$()双引号之间的

是语法式的,因此$()可以轻松嵌套。

例如

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

在find -name选项中也不需要'**',必须引用它以避免扩展glob

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)"