2016-02-12 15 views
1

我有一个脚本来解压/解压缩压缩文件并将其放入CD中,然后运行另一个加载脚本来加载。当顶级目录只有/时,我有独特的情况下,一切都很好。有谁知道我应该如何处理这个独特的情况?处理独特的情况下解压并进入文件夹

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

tar -xvzf $fname 
cd $(tar -tf $fname | grep -m3 /$) #tar it and cd into it 
loadIt        #run load script 
会导致一个问题

独特的案例:

[[email protected] 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

所以你基本上要'cd'到存档的第一个目录?如果您的存档包含至少4个顶级目录,您希望它做什么? – fanton

+0

这不太可能发生,但我想CD进入从tar提取的文件夹。 – kkmoslehpour

回答

1

按照脚本的模式,你就不能删除是给你的麻烦顶级目录?

使用grep:

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

使用尾巴:

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

这是另一种方式来做到这一点,谢谢! – kkmoslehpour

相关问题