你提到的 CentOS 下的 extract,需要先明确一下你说的是哪一种场景,因为“extract”不是一个单一的命令,常见有几种情况:
tar 解压时的“extract”(最常见)CentOS 里一般用:
tar -xvf file.tar.gz
结论:tar 本身不支持正则,但你可以结合 shell 或 find 实现“正则筛选后再 extract”。
tar -tzf file.tar.gz | grep -E '^log/.*\.log$' | tar -xvf file.tar.gz -T -
或者:
tar -xvf file.tar.gz --wildcards '*.log'
(--wildcards 支持通配符,不是完整正则)
unzip 解压(zip 文件)unzip file.zip
unzip 不支持正则,但支持通配符:
unzip file.zip '*.txt'
extract(第三方工具 / 别名)有些系统或脚本里会定义一个 extract 函数(比如 oh-my-zsh 的 extract 插件):
extract() {
...
}
这类 extract 通常不支持正则,只是自动识别压缩格式。
比如:
grepsedawkexpr这些是支持正则的,但那就不是“解压 extract”了。
| 工具 | 是否支持正则 | 说明 |
|---|---|---|
| tar | ❌ | 可用 grep + -T |
| unzip | ❌ | 仅通配符 |
| extract 函数 | ❌ | 一般是封装 |
| grep/sed/awk | ✅ | 文本处理 |
如果你能具体说一下:
我可以给你更精确的用法示例。