Następna strona Poprzednia strona Spis treści

5. Używanie bzip2 z less-em

Aby dekompresować pliki bzip2 w locie, tj. aby móc używać less-a do czytania ich bez wcześniejszego bunzip2-owania ich, należy zrobić lesspipe.sh (man less) w ten sposób:

#!/bin/sh
# To jest preprocessor dla 'less-a'.  Jest on używany, gdy ta zmienna 
# środowiskowa jest ustawiona:   LESSOPEN="|lesspipe.sh %s"

  case "$1" in
  *.tar) tar tvvf $1 2>/dev/null ;; # Oglądaj zawartość różnych plików tar-owych
  *.tgz) tar tzvvf $1 2>/dev/null ;;
# Działa dla niezmodyfikowanej wersji tar-a 
  *.tar.bz2) bzip2 -cd $1 $1 2>/dev/null | tar tzvvf - ;;
# Działa z spatchowaną wersją tar-a 
# *.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 ;; # Oglądaj spakowane pliki  
  *.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


Następna strona Poprzednia strona Spis treści