Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Next Previous Contents

5. Использование bzip2 с less

Чтобы разжать bzip2'ованные файлы на лету, то есть заиметь возможность использовать для них "less" без предварительной распаковки, вы можете переделать lesspipe.sh (man less) примерно так:


  #!/bin/sh

  # This is a preprocessor for 'less'.  It is used when this environment

  # variable is set:   LESSOPEN="|lesspipe.sh %s"



    case "$1" in

    *.tar) tar tvvf $1 2>/dev/null ;; # View contents of various tar'd files

    *.tgz) tar tzvvf $1 2>/dev/null ;;

  # This one work for the unmodified version of tar:

    *.tar.bz2) bzip2 -cd $1 $1 2>/dev/null | tar tzvvf - ;;

  #This one works with the patched version of tar:

  # *.tar.bz2) tyvvf $1 2>/dev/null ;;

    *.tar.gz) tar tzvvf $1 2>/dev/null ;;

    *.tar.Z) tar tzvvf $1 2>/dev/null ;;

    *.tar.z) tar tzvvf $1 2>/dev/null ;;

    *.bz2) bzip2 -dc $1  2>/dev/null ;; # View compressed files correctly

    *.Z) gzip -dc $1  2>/dev/null ;;

    *.z) gzip -dc $1  2>/dev/null ;;

    *.gz) gzip -dc $1  2>/dev/null ;;

    *.zip) unzip -l $1 2>/dev/null ;;

    *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) FILE=`file -L $1` ; # groff src

      FILE=`echo $FILE | cut -d ' ' -f 2`

      if [ "$FILE" = "troff" ]; then

        groff -s -p -t -e -Tascii -mandoc $1

      fi ;;

    *) cat $1 2>/dev/null ;;

  #  *) FILE=`file -L $1` ; # Check to see if binary, if so -- view with 'strings'

  #    FILE1=`echo $FILE | cut -d ' ' -f 2`

  #    FILE2=`echo $FILE | cut -d ' ' -f 3`

  #    if [ "$FILE1" = "Linux/i386" -o "$FILE2" = "Linux/i386" \

  #         -o "$FILE1" = "ELF" -o "$FILE2" = "ELF" ]; then

  #      strings $1

  #    fi ;;

    esac




Next Previous Contents