我如何从bash获取文件扩展名?这是我尝试过的:
filename=`basename $filepath`
fileext=${filename##*.}
通过这样做,我可以bz2
从路径中得到扩展/dir/subdir/file.bz2
,但是路径有问题/dir/subdir/file-1.0.tar.bz2
。
如果可能,我希望仅使用bash而不使用外部程序的解决方案。
为了明确说明我的问题,我正在创建一个bash脚本,仅需通过一个命令即可提取任何给定的存档extract path_to_file
。如何提取文件由脚本通过查看其压缩或归档类型来确定,该类型可以是.tar.gz,.gz,.bz2等。我认为这应该涉及字符串操作,例如,如果我得到扩展名,.gz
则我应该检查它.tar
之前是否有字符串.gz
-如果有,扩展名应该是.tar.gz
。
.tar.bz2