我正试图通过电子邮件发送一些压缩文件。文件的打包和发送工作正常,但是当我在windows机器上打开..gz文件时,归档文件包含每个文件的文件路径(在我的例子中是/tmp/feed)。在Linux上,文件路径不是在..gz文件中表示的。
下面是我打包文件的代码:
foreach my $input (glob($par{directory}.'*')) {
my $output = "$input.gz";
gzip $input => $output or die "GZIP failed: $GzipError
我有几个使用Vim的系统,其中一个系统无法查看/编辑压缩文件。我相信我有正确的插件,因为我的Vim 7.0的另一个系统可以与相同的插件正常工作。
我得到一个错误:
$ vi admin.war
~
...
~
***error*** (zip#Browse) unzip not available on your system
我的机器:
$ uname -srmo
Linux 2.6.35.4-rscloud x86_64 GNU/Linux
$ vim --v
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Sep 28 2010 11:05:08
我编写了一个简单的测试代码,生成大量整数,并使用模块将它们写入压缩文件。
import gzip
for idx in range(100000):
with gzip.open('output.gz', 'ab') as f:
line = (str(idx) + '\n').encode()
f.write(line)
压缩文件是创建的,但是当我解压缩它时,原始数据实际上要小得多:
$ ls -l
588890 output
3288710 output.gz
你能解释一下我做错了什么吗?
我只是专门学习bash中的shell脚本,我希望能够使用gzip从目标目录获取文件并将它们发送到另一个目录。我在命令行中输入目录。ext是我想要压缩的扩展名,文件将是新的压缩文件。我的脚本正确地压缩文件--,从所需的目录,--但是我没有得到这样的文件或目录错误。我怎么才能避免这种情况?
当前代码
cd $1
for ext in $*; do
for file in `ls *.$ext`; do
gzip -c $file > $2/$file.gz
done
done
我的I/O
blackton@ltsp-amd64-charlie:~/Desk