在脚本中,我有一个用于打包到存档中的相关文件路径的列表。如果我用:
# list of some relative file paths determined at runtime
FILES="../path1/file1 ../path1/path2/file2 ../path1/file3 ... more files ..."
# pack files
tar -cavf target.tar.gz $FILES档案结构是:
path1/file1
path1/path2/file2
path1/file3
...但我希望将文件打包到运行时确定的路径../path1中。
file1
path2/file2
file3
...我不想使用-C参数,因为我还必须修改路径。有简单的解决办法吗?
发布于 2016-05-15 15:07:55
我自己回答。唯一的解决方案似乎是使用realpath编辑相对路径。
realpath --relative-to=../path1 ../path1/file1 ../path1/path2/file2 ../path1/file3 \
| tar -acvf target.tar.gz -C ../path1 -T -发布于 2016-05-15 15:14:13
也许您的简化示例问题中缺少了一个细节,但是先移到那个相对文件夹不就足够了吗?
cd ../path1
FILES="file1 path2/file2 file3"
tar -cavf target.tar.gz $FILEShttps://stackoverflow.com/questions/37238483
复制相似问题