with 7z
#!/bin/bash TARGET_FILE=~/xxx/xxxx-xxx.7z function print { 7z x -so $TARGET_FILE | cat } function view { 7z x -so $TARGET_FILE | vi -R - } if [[ "$1" = "" ]] then view else if [[ "$1" = "-p" ]] then print fi fi