【发布时间】:2019-07-11 13:36:18
【问题描述】:
我有一个生成一堆文件的 bash 脚本。但是我希望我的文件是 gzip。我编写脚本的方式是生成带有 *.gz 扩展名的文件。但是,当我使用命令检查它是否是 gzip 时
gzip -l hard_0.msOut.gz
上面写着 gzip: hard_0.msOut.gz: not in gzip format
我的 bash 脚本是:
#!/bin/bash
#generating training data
i_hard=0
i_soft=0
i_neutral=0
for entry in /home/noor/popGen/sweeps/slim_script/singlePop/*
do
if [[ $entry == *"hard"* ]]; then
echo "It's there!"
/home/noor/popGen/build/./slim $entry > /home/noor/popGen/sweeps/msOut/singlePop/hard_$i_hard.msOut.gz
i_hard=$((i_hard+1))
fi
if [[ $entry == *"soft"* ]]; then
echo "It's there!"
/home/noor/popGen/build/./slim $entry > /home/noor/popGen/sweeps/msOut/singlePop/soft_$i_soft.msOut.gz
i_soft=$((i_soft+1))
fi
if [[ $entry == *"neutral"* ]]; then
echo "It's there!"
/home/noor/popGen/build/./slim $entry > /home/noor/popGen/sweeps/msOut/singlePop/neutral_$i_neutral.msOut.gz
i_neutral=$((i_neutral+1))
fi
done
谁能告诉我如何使用我制作的 bash 脚本生成 gzip 文件。
【问题讨论】:
-
这取决于
slim命令的作用。它会创建 gzip 文件吗?将.gz附加到文件名不会将其更改为 gzip 文件。 -
您正在将
/home/noor/popGen/build/./slim $entry的输出重定向到您恰好用.gz命名的文件。您实际上必须针对该文件运行gzip以使用 gzip 对其进行压缩,以便对其进行 gzip 压缩。一旦你这样做了,gzip里面只会有一个文件(你压缩的那个),所以对它运行-l会非常无聊。