我知道如何用find查找文件

# find /root/directory/to/search -name 'filename.*'

但是,如何查看档案,因为档案可以在里面压缩。。。
塔克斯

最佳答案

我定义了一个函数(zsh,小改动->BaSh)

## preview archives before extraction
# Usage:        show-archive <archive>
# Description:  view archive without unpack
  show-archive() {
        if [[ -f $1 ]]
        then
                case $1 in
                        *.tar.gz)      gunzip -c $1 | tar -tf - -- ;;
                        *.tar)         tar -tf $1 ;;
                        *.tgz)         tar -ztf $1 ;;
                        *.zip)         unzip -l $1 ;;
                        *.bz2)         bzless $1 ;;
                        *)             echo "'$1' Error. Please go away" ;;
                esac
        else
                echo "'$1' is not a valid archive"
        fi
  }

你可以
find /directory -name '*.tgz' -exec show-archive {} \| grep filename \;

关于bash - BASH::从命令行在存档中查找文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1682130/

10-12 05:02