我想写一个脚本,需要一个文件名作为参数,然后压缩和解压缩每个程序的文件,compress, gzip, bzip2
和zip
。在每个阶段,它会记录压缩前后文件的大小。最后,它显示一个列表,显示压缩程序,未压缩大小,压缩大小和压缩比率(最多1位小数)。我希望通过压缩来实现列表的排序,最高效的压缩数据将显示在顶部。任何意见或帮助将不胜感激。非常感谢。压缩和解压缩与每个“压缩,gzip,bzip2和zip”文件
0
A
回答
3
#!/bin/bash
file="$1"
# Original file size
orig_size=$(stat -c'%s' $file)
# Get sizes
gzip_size=$(gzip -c "$file" | wc -c)
# Repeat for other compression types...
# Get ratios
gzip_ratio=$(echo "scale=1; 100 * ($orig_size - $gzip_size)/$orig_size" | bc)
# Repeat for others...
# Unsorted output
echo "gzip $orig_size $gzip_size $gzip_ratio" >> unsorted.txt
# Repeat for others...
# Create sorted list
sort -n -r +3 -4 unsorted.txt > sorted.txt
cat sorted.txt # Print sorted list
+2
我认为'orig_size'不应该指向'$ {file} .gz',而只能指向'$ {file}'。 – Danosaure 2010-11-17 13:08:26
+0
@Danosaure:非常感谢!固定。 – 2010-11-17 13:38:31
+2
以获得gzip的大小,我只是写'gzip_size = $(gzip -c“$ file”| wc -c)'而不是实际将“$ file.gz”写入磁盘。 – 2010-11-17 14:55:03
相关问题
- 1. GZIP压缩和解压缩问题
- 2. 与django_compressor压缩文件以gzip压缩
- 3. Magick ++压缩和解压缩文件
- 4. 压缩和解压缩文件夹
- 5. png文件的压缩和解压缩
- 6. 解压缩GZIP
- 7. Gzip解压缩
- 8. 解压缩zip
- 9. ASP.NET MVC WEB API Gzip压缩 - 解压缩
- 10. Python:将zip文件解压缩并解压缩.zip
- 11. gzip和webpack压缩
- 12. 无法解压缩使用BZip2压缩的文件
- 13. 压缩和解压缩在PHP和JS
- 14. 解压缩(解压缩)由.net压缩(解压缩)的文件.net system.io.compression.gzipstream
- 15. BlackBerry - 解压缩Zip文件
- 16. 解压缩Zip文件
- 17. 解压缩.zip文件
- 18. 解压缩.zip文件
- 19. 解压缩Zip文件3.6
- 20. 解压缩GZIP流
- 21. Apache gzip解压缩
- 22. 解压缩和解压缩建议?
- 23. Gzip压缩与MockRestServiceServer
- 24. Protobuf与GZIP压缩
- 25. 压缩和解压缩文件和文件夹
- 26. 解压gzip压缩iOS上的文件(使用Objective-Zip或SSZipArchive)
- 27. .NET使用压缩和非压缩数据压缩文件
- 28. Java LZW压缩和解压缩图像
- 29. 压缩和解压字符串减缩
- 30. Java压缩和解压缩byte []块
为什么?这必须是功课,对吧? – 2010-11-17 04:44:42
你卡在哪里?你有什么更具体的问题吗? – 2010-11-17 04:45:55
将它分解成更小的步骤,您可以在shell提示符下执行以下操作:查找文件大小,压缩文件,查找其压缩大小,计算比率,然后将其放入脚本中。在压缩gzip bzip2 zip中使用'for COMPRESSION;做...;完成“来处理压缩程序,然后在相应的输出列上放置一个管道进行排序。回到你不能做的那些问题的具体问题。 – 2010-11-17 07:12:32