Working with compressed files: Difference between revisions
Jump to navigation
Jump to search
m (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...") |
mNo edit summary |
||
Line 1: | Line 1: | ||
Linux usually provides a couple of command piping gzip | Linux usually provides a couple of command piping gzip | ||
zgrep, 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: | 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: | ||
<source lang="bash"> | <source lang="bash"> |
Revision as of 16:07, 23 November 2011
Linux usually provides a couple of command piping gzip
zgrep, 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: <source lang="bash">
- !/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 </source>