如何使此命令从父目录工作zip files / test.zip $(tar tf files / test.gz)

时间:2018-09-25 10:40:57

标签: shell command-line zip tar

我有以下命令:

library(tidyverse)

data <- data.frame(treetype = c(1,4,8,3),
                   Leaves = c(670, 330, 880, 770),
                   roots  = c(25,55,55,25))

limit <- 550

data <- data %>% 
    dplyr::mutate(New_value = ifelse(treetype+Leaves+roots < limit, Leaves, treetype+Leaves+roots))

但是它不起作用,因为$(tar tf files / test.gz)中的所有内容都在files / 因此zip找不到。 如果我将目录更改为文件并执行此命令,则可以完美运行:

zip files/test.zip $(tar tf files/test.gz)

但是我需要使它在父目录下工作。

我的完整命令是:

zip test.zip $(tar tf test.gz)

来自Is there any command on Linux to convert .tar.gz files to .zip?

谢谢

1 个答案:

答案 0 :(得分:0)

我会为此编写一个小脚本。如果要处理的tgz文件很多,可以对其应用循环。

#!/bin/bash
TMP=/a/tmp/directory
TARGET=/dir/to/your/files
mkdir -p $TMP   
cd $TMP
tar -C $TMP -xzf $TARGET/your.tar.gz && zip $TARGET/your.zip *  
rm -rf $TMP