提取里面有多个 tar 的 tar 吗?

提取里面有多个 tar 的 tar 吗?

有没有办法解压一个包含多个 tar 文件的文件?它应该只解压里面的所有内容,包括解压 tar 里面的 tar 文件... 在 Windows 上可以这样做,很烦人,我无法在 Linux 上搞清楚... 我正在做的是:

# tar -xvf socialengine4.0.5p1.tar 
core-base-4.0.5.tar
core-install-4.0.7.tar
external-autocompleter-4.0.0.tar
external-calendar-4.0.1.tar
external-chootools-4.0.3.tar
external-fancyupload-4.0.1.tar
external-firebug-4.0.0.tar
external-flowplayer-4.0.0.tar
external-moocomet-4.0.0.tar
external-moocrop-4.0.0.tar
external-moolasso-4.0.0.tar
external-mootools-4.0.2.tar
external-mootree-4.0.0.tar
external-open-flash-chart-4.0.0.tar
external-smoothbox-4.0.0.tar
external-swfobject-4.0.0.tar
external-tagger-4.0.2.tar
external-tinymce-4.0.2.tar
library-engine-4.0.5.tar
library-facebook-4.0.0.tar
library-ofc-4.0.0.tar
library-pear-4.0.1.tar
library-scaffold-4.0.3.tar
module-activity-4.0.5p1.tar
module-announcement-4.0.3.tar
module-authorization-4.0.5.tar
module-core-4.0.5.tar
module-fields-4.0.5p1.tar
module-invite-4.0.3.tar
module-messages-4.0.5.tar
module-network-4.0.5p1.tar
module-storage-4.0.4.tar
module-user-4.0.5.tar
widget-rss-4.0.2.tar
widget-weather-4.0.0.tar
changelog.html
[root@D18634 se4]# ls -l
total 36980
-rw-r--r-- 1 1000 1000    27188 Oct  8 15:39 changelog.html
-rw-r--r-- 1 1000 1000   359424 Oct  8 16:13 core-base-4.0.5.tar
-rw-r--r-- 1 1000 1000  1122304 Oct  8 16:13 core-install-4.0.7.tar
-rw-r--r-- 1 1000 1000    38400 Oct  8 16:13 external-autocompleter-4.0.0.tar
-rw-r--r-- 1 1000 1000   100352 Oct  8 16:13 external-calendar-4.0.1.tar
-rw-r--r-- 1 1000 1000    31232 Oct  8 16:13 external-chootools-4.0.3.tar
-rw-r--r-- 1 1000 1000    66560 Oct  8 16:13 external-fancyupload-4.0.1.tar
-rw-r--r-- 1 1000 1000    85504 Oct  8 16:13 external-firebug-4.0.0.tar
-rw-r--r-- 1 1000 1000   216576 Oct  8 16:13 external-flowplayer-4.0.0.tar
-rw-r--r-- 1 1000 1000    11776 Oct  8 16:13 external-moocomet-4.0.0.tar
-rw-r--r-- 1 1000 1000    16384 Oct  8 16:13 external-moocrop-4.0.0.tar
-rw-r--r-- 1 1000 1000    27648 Oct  8 16:13 external-moolasso-4.0.0.tar
-rw-r--r-- 1 1000 1000  1445376 Oct  8 16:13 external-mootools-4.0.2.tar
-rw-r--r-- 1 1000 1000    45568 Oct  8 16:13 external-mootree-4.0.0.tar
-rw-r--r-- 1 1000 1000   330240 Oct  8 16:13 external-open-flash-chart-4.0.0.tar
-rw-r--r-- 1 1000 1000    43008 Oct  8 16:13 external-smoothbox-4.0.0.tar
-rw-r--r-- 1 1000 1000    18432 Oct  8 16:13 external-swfobject-4.0.0.tar
-rw-r--r-- 1 1000 1000    19968 Oct  8 16:13 external-tagger-4.0.2.tar
-rw-r--r-- 1 1000 1000  5711360 Oct  8 16:13 external-tinymce-4.0.2.tar
-rw-r--r-- 1 1000 1000  1230848 Oct  8 16:13 library-engine-4.0.5.tar
-rw-r--r-- 1 1000 1000    28672 Oct  8 16:13 library-facebook-4.0.0.tar
-rw-r--r-- 1 1000 1000   125952 Oct  8 16:13 library-ofc-4.0.0.tar
-rw-r--r-- 1 1000 1000  1715200 Oct  8 16:13 library-pear-4.0.1.tar
-rw-r--r-- 1 1000 1000   340480 Oct  8 16:13 library-scaffold-4.0.3.tar
-rw-r--r-- 1 1000 1000   354304 Oct  8 16:13 module-activity-4.0.5p1.tar
-rw-r--r-- 1 root root   327680 Jan  8 02:37 module-albums-4.0.5.tar
-rw-r--r-- 1 1000 1000    80896 Oct  8 16:13 module-announcement-4.0.3.tar
-rw-r--r-- 1 1000 1000   147456 Oct  8 16:13 module-authorization-4.0.5.tar
-rw-r--r-- 1 1000 1000  2643968 Oct  8 16:13 module-core-4.0.5.tar
-rw-r--r-- 1 root root   665600 Jan  8 02:37 module-events-4.0.5.tar
-rw-r--r-- 1 1000 1000   377344 Oct  8 16:13 module-fields-4.0.5p1.tar
-rw-r--r-- 1 root root   501760 Jan  8 02:37 module-forum-4.0.5p1.tar
-rw-r--r-- 1 1000 1000    81408 Oct  8 16:14 module-invite-4.0.3.tar
-rw-r--r-- 1 1000 1000   147968 Oct  8 16:14 module-messages-4.0.5.tar
-rw-r--r-- 1 1000 1000   111616 Oct  8 16:14 module-network-4.0.5p1.tar
-rw-r--r-- 1 1000 1000    99840 Oct  8 16:14 module-storage-4.0.4.tar
-rw-r--r-- 1 1000 1000   844288 Oct  8 16:14 module-user-4.0.5.tar
-rw-r--r-- 1 root root 18094080 Jan  8 02:40 socialengine4.0.5p1.tar
-rw-r--r-- 1 1000 1000    12288 Oct  8 16:14 widget-rss-4.0.2.tar
-rw-r--r-- 1 1000 1000    13824 Oct  8 16:14 widget-weather-4.0.0.tar

答案1

Unix tar 每次只能处理一个 tar 文件,因此您必须生成一个列表并分别解压每个文件。您可以尝试

tar -xvf socialengine4.0.5p1.tar |grep '\.tar$' | xargs -n 1 | tar -xvf

答案2

刚刚解决了类似的任务,但没有 xargs(对我来说不起作用)

while find . *.tar; do for i in $(find . *.tar); do sudo tar -xvf $i && sudo rm $i; done; done

相关内容