2

我正在编写一个 PBS 脚本来一次处理多个文件并执行多个操作。

我想首先解压缩 .gz 文件(我稍后会压缩),然后处理解压缩的文件。

以下将解压缩文件$file,但是一旦我解压缩了文件,我希望变量$file引用解压缩的版本:

for file in $READS/*2.fq.gz;
do
    gunzip $file
    # continue script with the gunzipped file  
done

就像是:

for file in $READS/*2.fq.gz;
do
    file=gunzip $file
    # continue script with the gunzipped file  
done
4

1 回答 1

4

您想删除.gz$file 上的后缀:

file=${file%.gz}

请注意,您可能还想检查 gunzip 命令的结果,看看它是否失败:

for file in $READS/*2.fq.gz;
do
    if gunzip $file; then
        file=${file%.gz}
        # continue script with the gunzipped file
    else
        # gunzip failed (corrupt file?) and already output an error message
        # try to recover?
    fi
done
于 2016-11-22T16:29:23.640 回答