]> git.ipfire.org Git - ipfire-3.x.git/blob - less/lesspipe.sh
json-c: Update to version 0.17-20230812
[ipfire-3.x.git] / less / lesspipe.sh
1 #!/bin/sh
2 #
3 # To use this filter with less, define LESSOPEN:
4 # export LESSOPEN="|/usr/bin/lesspipe.sh %s"
5
6 lesspipe() {
7 case "$1" in
8 *.[1-9n]|*.man|*.[1-9n].bz2|*.man.bz2|*.[1-9].gz|*.[1-9]x.gz|*.man.gz|*.[1-9].xz|*.[1-9]x.xz|*.man.xz)
9 case "$1" in
10 *.gz) DECOMPRESSOR="gunzip -c" ;;
11 *.bz2) DECOMPRESSOR="bunzip2 -c" ;;
12 *) DECOMPRESSOR="cat" ;;
13 esac
14 if $DECOMPRESSOR -- "$1" | file - | grep -q troff; then
15 if echo "$1" | grep -q ^/; then #absolute path
16 man -- "$1" | cat -s
17 else
18 man -- "./$1" | cat -s
19 fi
20 else
21 $DECOMPRESSOR -- "$1"
22 fi ;;
23 *.tar) tar tvvf "$1" ;;
24 *.tgz|*.tar.gz|*.tar.[zZ]) tar tzvvf "$1" ;;
25 *.tar.xz) tar Jtvvf "$1" ;;
26 *.xz) xz -dc -- "$1" ;;
27 *.tar.bz2|*.tbz2) bzip2 -dc -- "$1" | tar tvvf - ;;
28 *.[zZ]|*.gz) gzip -dc -- "$1" ;;
29 *.bz2) bzip2 -dc -- "$1" ;;
30 *.lzma) lzma -c -d -- "$1" ;;
31 *.zip|*.jar|*.nbm) zipinfo -- "$1" ;;
32 *.rpm) rpm -qpivl --changelog -- "$1" ;;
33 *.cpi|*.cpio) cpio -itv < "$1" ;;
34 *.gif|*.jpeg|*.jpg|*.pcd|*.png|*.tga|*.tiff|*.tif)
35 if [ -x /usr/bin/identify ]; then
36 identify "$1"
37 elif [ -x /usr/bin/gm ]; then
38 gm identify "$1"
39 else
40 echo "No identify available"
41 echo "Install ImageMagick or GraphicsMagick to browse images"
42 fi ;;
43 *)
44 case "$1" in
45 *.gz) DECOMPRESSOR="gunzip -c" ;;
46 *.bz2) DECOMPRESSOR="bunzip2 -c" ;;
47 *.xz) DECOMPRESSOR="unxz -c" ;;
48 esac
49 if [ ! -z $DECOMPRESSOR ] ; then
50 $DECOMPRESSOR -- "$1" ;
51 fi
52 esac
53 }
54
55 if [ -d "$1" ] ; then
56 /bin/ls -alF -- "$1"
57 else
58 lesspipe "$1" 2> /dev/null
59 fi