Working with compressed files
From LPTMS Wiki
Revision as of 14:26, 19 November 2011 by Roux (talk | contribs) (Created page with "Linux usually provides a couple of command piping gzip zgreg, zcat, zdiff, zless, zmore, zegrep,... Here is a simple extension of ''tail'' and ''head'' for zipped files, that yo...")
Linux usually provides a couple of command piping gzip
zgreg, zcat, zdiff, zless, zmore, zegrep,...
Here is a simple extension of tail and head for zipped files, that you can call ztail and zhead (example is for tail, replace "tail" with "head" everywhere to get zhead) and add to your own /bin directory:
#!/bin/bash PATH=${GZIP_BINDIR-'/bin'}:$PATH usage="Usage: $0 [OPTIONS]... [FILES]... Like 'tail', but operate on the uncompressed contents of any compressed FILEs. Options are the same as for 'tail'." case $1 in --help) exec echo "$usage";; -h) exec echo "$usage";; esac options="" files="" for i in $@; do str="$i" if test -f $i && [ ${str:(-3)} = ".gz" ]; then files=$files"$i " else if [ ${str:0:1} = "-" ] && [ $str != "-v" ] && [ $str != "--verbose" ]; then options=$options"$i " elif [ $str != "-v" ] && [ $str != "--verbose" ]; then echo -ne "***Warning: $i is neither a regular zip file or a regular option***\n\n" fi fi done for file in $files; do echo "==>"$file"<==" exec gzip -cd $file | tail $options done