gzip -t 循环和 运行 脚本
gzip -t in a loop and run script
我在一个文件夹中有几个 *.gz 文件,我想 运行 在它们上面创建一个 python 脚本。但是,我一直收到错误。这些错误与损坏的 gz 文件有关。
我希望 运行 我的 python 脚本 仅 在 gz 文件中正确压缩。我尝试了以下方法:
for i in *.gz;
do
if gzip -t $i
then
python myscript.py
else
echo 'file is corrupt'
fi
done;
但是我的脚本 运行 也在损坏的 gz 文件中(并且出现了很多错误)。
或者,我可以修改 python 脚本以仅读取未损坏的 gz 文件吗?
我当前脚本的顶部是:
for tf in glob.glob('*.gz'):
tar = tarfile.open(tf)
tar.extractall()
tar.close()
files = [file for file in glob.glob('*.txt')] ..
如果我打开 gz 文件,我想保留它(因为我知道 gunzip 会在解压缩时删除原始 gz 文件)。
提前致谢
使用:
gunzip -t $i
相反,检查是否有损坏:
for i in *.gz;
do
if gunzip -t $i
then
python myscript.py
else
echo 'file is corrupt'
fi
done;
gunzip 默认解压。
-t 测试文件的完整性。
要用 bash 完成这一切:
for i in *.gz;
do
if gunzip -t $i
then
gzip -d # -d decompress
else
echo 'file is corrupt'
fi
done;
当您将 -k 选项传递给它时,gunzip 会保留原始文件,-k 表示保留输入文件
我在一个文件夹中有几个 *.gz 文件,我想 运行 在它们上面创建一个 python 脚本。但是,我一直收到错误。这些错误与损坏的 gz 文件有关。
我希望 运行 我的 python 脚本 仅 在 gz 文件中正确压缩。我尝试了以下方法:
for i in *.gz;
do
if gzip -t $i
then
python myscript.py
else
echo 'file is corrupt'
fi
done;
但是我的脚本 运行 也在损坏的 gz 文件中(并且出现了很多错误)。
或者,我可以修改 python 脚本以仅读取未损坏的 gz 文件吗?
我当前脚本的顶部是:
for tf in glob.glob('*.gz'):
tar = tarfile.open(tf)
tar.extractall()
tar.close()
files = [file for file in glob.glob('*.txt')] ..
如果我打开 gz 文件,我想保留它(因为我知道 gunzip 会在解压缩时删除原始 gz 文件)。
提前致谢
使用:
gunzip -t $i
相反,检查是否有损坏:
for i in *.gz;
do
if gunzip -t $i
then
python myscript.py
else
echo 'file is corrupt'
fi
done;
gunzip 默认解压。
-t 测试文件的完整性。
要用 bash 完成这一切:
for i in *.gz;
do
if gunzip -t $i
then
gzip -d # -d decompress
else
echo 'file is corrupt'
fi
done;
当您将 -k 选项传递给它时,gunzip 会保留原始文件,-k 表示保留输入文件