我有一个名为 的 tar 文件_home_rock_files.tar
,该文件已在源服务器中打包,现在,一旦将此 tar 复制到目标服务器,我就拥有与 相同的目录结构_home_rock_files
。现在,我的问题出现了。
我想编写一个 shell 脚本,自动解压_home_rock_files.tar
并将档案解压到/home/rock/files/
;目标路径在文件名中指定,如下所示。
答案1
我想出了以下一组 bash 命令:
[sudo] find * -type f -name "SPECIFY THE FILE NAME"|
while read FILE ; do # read the files
destpath="$(echo "$FILE"| sed 's/_/\//g;s/.tar//')"; #rerplace all _s with /s and drop the .tar ext to achive destpath
mkdir -p "$destpath"; #create the directory path of despath
tar xzf "$FILE" -C "$destpath" ; #untar the file to destpath
done