使用shell脚本解压缩.lzo文件

8

好的,我在网上进行了一番搜索,没有找到任何答案。我正在编写一个shell脚本,需要解压缩一个.lzo文件,但是我没有找到任何线索。有人有任何想法吗?我基本上是在读取一个带有时间戳的日志文件。我的脚本接受年、月、日作为参数。我能够定位到我的文件,但现在当我需要解压缩它时,我不知道如何处理.lzo文件。需要帮助。

提前致谢。


你提到了时间戳、压缩文件和自定义脚本,但没有代码。请包含一些代码,这样我们才能看到你实际上想要做什么。 - l0b0
我所使用的代码:#!/bin/bash path="/home/vviswanathan/NEAT/" star="*" dash="-" if [ $1 -gt 0 -a $2 -gt 0 -a $3 -gt 0 ] then cd $path if find $path -name "*$1-$2-$3*.lzo" then echo $path$star$1$dash$2$dash$3$star lzop -d "*neat*$1-$2-$3*.lzo" echo "返回代码为 $?" echo "文件存在" else echo "返回代码为 $?" echo "文件不存在" fi else echo "无效输入" fi exit 0 - Vikas
sorry about the format - Vikas
1
只需编辑您的原始问题并正确格式化即可。否则它是无法阅读的。 - l0b0
2个回答

30

我字面上所做的事情以找出答案:

$ apropos lzo
IO::Uncompress::AnyUncompress (3perl) - Uncompress gzip, zip, bzip2 or lzop file/buffer

好的,那么这可能与lzop有关。

$ lzo
No command 'lzo' found, did you mean:
 Command 'lz' from package 'mtools' (main)
 Command 'lzop' from package 'lzop' (universe)
lzo: command not found

最后一个看起来像它。

$ sudo apt-get install lzop
$ lzop 
[...]
Commands:
  -1     compress faster                   -9    compress better
  -d     decompress                        -x    extract (same as -dPp)

还有巧克力给每个人!


这在我的Hadoop系统上运行良好,但在shell脚本中却不行。我有什么遗漏吗? - Vikas
你做了什么,得到了什么,期望得到什么? - l0b0
基本上有一个*.dat.lzo文件。我一直在使用lzop -d * dat..lzo来解压缩文件并操作获得的.dat文件。但现在我希望编写一个脚本来执行相同的操作,只需传递yyyymmdd即可获取.dat文件。 - Vikas
抱歉,各位。我没有在本地安装lzop。我猜今天是那些倒霉的日子之一。 - Vikas

18

这在我的Hadoop系统上运行良好,但在shell脚本中却不行。我有什么遗漏吗? - Vikas
1
@Vikas 你遇到了什么样的错误? - wizard
lzop命令未找到。 - Vikas
@Vikas 尝试在你的终端执行 which lzop 命令,获取 lzop 的完整路径,并将其复制到你的脚本中。 - wizard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接