处理独特的案例以解压并cd进入文件夹

时间:2016-02-12 22:24:36

标签: linux bash

我有一个脚本来解压缩/解压缩压缩文件并将其cd入其中然后运行另一个加载脚本来加载。当顶级目录只是/时,我有一些独特的案例,一切正常。有谁知道我应该如何处理这个独特的案例?

为了更清楚,我需要cd到myfile_01而不是根目录。

tar -xvzf $fname
cd $(tar -tf $fname | grep -m3 /$)    #tar it and cd into it
loadIt                                #run load script

会导致问题的独特案例:

[user@user my_directory]$ tar -tf myfile_01.tgz | grep -m3 /$
./                            # it will cause it to cd to top level directory instead of my_file01
./myfile_01/

1 个答案:

答案 0 :(得分:1)

遵循您的脚本模式,您是否只是删除了给您带来麻烦的顶级目录?

使用grep:

tar -tf myfile_01.tgz | grep -m3 /$ | grep --invert-match --extended-regexp '^\./$'

使用tail:

tar -tf myfile_01.tgz | grep -m3 /$ | tail -1