尝试使用 here-document 的两个变量来生成 bash 脚本列表。我遇到了无法将两个变量正确放入脚本的问题,并且输出文件(只有一个文件)的文件名为cut_cat.sh
,基本上代码被解释为 cat 作为文本,而不是函数。我该如何改进呢?
这是在 bash shell 环境中。操作系统是红帽 Linux。
输入文件R2_adaptor
包含Sample_ID:CGATATTCG
(前半部分是样本 ID,后半部分是要移除的序列)。它们由 分隔:
。
for n in cat ${FA_PATH}/R2_adaptor;
do first=$(echo $n | cut -d ":" -f 1)
second=$(echo $n | cut -d ":" -f 2)
cat <<- EOF > ${SCRIPTS}/cut_${first}.sh
#!/bin/bash
FA_PATH="/home/xxx/test_files"
cutadapt -a TTCCTCCT -A echo ${second} --cores=14 \
-o ${FA_PATH}/${first}_R1_trim.fastq.gz \
-p ${FA_PATH}/${first}_R2_trim.fastq.gz \
${FA_PATH}/${first}_R1_001.fastq.gz ${FA_PATH}/${first}_R2_001.fastq.gz
EOF
done
这是 ${FA_PATH}/R2_adaptor
文件的示例
Sample2:AGAAGTTT
Sample3:TTGGATAT
Sample4:GTAGTATT
Sample5:ATATATAT
Sample6:AACTTGGC
Sample7:GATGGTGA
Sample8:GTCCCTAT