简体   繁体   中英

Extracting specific file types from all tar files from specific folder

I need shell script which accept two arguments. First one is path to the specific folder and second one is int value (1 or 2).

If second argument is 1 then I have to go through all tar files in mentioned folder and extract just executable files into specific folder inside path from first argument. in this case name of that folder is "unpacked".

If second argument is 2 then I have to extract all *.txt files from all tar files from folder given by first argument.

I am trying something like this but don't know how to catch every tar file and extract one of these two file types.

#!/bin/bash

cd $1
if [$2 –eq 1 ]
then
for f in *.tar; do
tar –xv –f "$f" –-wildcards EXECUTABLE FILES -C ./unpacked
done
fi

if [$2 –eq 2 ]
then
for f in *.tar; do
tar –xv –f "$f" –-wildcards "*.txt" -C ./unpacked
done
fi

The [MEMBER...] argument must come last.

#!/bin/bash

cd $1
if [$2 –eq 1 ]
then
for f in *.tar; do
tar –xv –f "$f" –-wildcards -C ./unpacked EXECUTABLE FILES
done
fi

if [$2 –eq 2 ]
then
for f in *.tar; do
tar –xv –f "$f" –-wildcards -C ./unpacked "*.txt"
done
fi

要从tar文件中提取特定文件,请在您的终端中执行:

$ tar -zxvf TARNAME.tar.gz PATH/FILNAME

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM