26 lines
604 B
Plaintext
26 lines
604 B
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
if [ "$#" -ne 1 ]; then
|
||
|
echo "Usage: $0 filename"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# upper limit of lines to display for text files
|
||
|
nlines=250
|
||
|
# upper limit of bytes to display for binary files
|
||
|
nbytes=2048
|
||
|
# language of text files
|
||
|
language=russian
|
||
|
# output encoding for text files
|
||
|
encoding=utf-8
|
||
|
|
||
|
info=$(head -$nlines "$1" | file --mime -)
|
||
|
charset=${info#*=}
|
||
|
|
||
|
# shellcheck disable=2268
|
||
|
if [ "x$charset" == "xbinary" ]; then
|
||
|
hexdump -e '"%08_ax: "' -e '8/1 "%02x " " " 8/1 "%02x "' -e '" |" 16/1 "%_p"' -e '"\n"' -v -n $nbytes "$1"
|
||
|
else
|
||
|
head -$nlines "$1" | enconv -g -L $language -x $encoding
|
||
|
fi
|