gpt4 book ai didi

linux - 变量作为 SunOs 5.10 中的 Tar 文件名

转载 作者:太空宇宙 更新时间:2023-11-04 10:23:58 25 4
gpt4 key购买 nike

我试图在

中获得以下结果

1. 文件归档为 tar,当前日期作为 tar 名称的一部分。2.文件一旦归档就被删除。

/usr/sap/ST1/POC/backtest/*.txt has 2 txt files.

(find /usr/sap/ST1/POC/backtest/*.txt )| xargs -I % sh -c 'tar cvf arc_2017-02-28.tar % ; rm -f %'

这很好用,因为文件名为 arc_2017-02-28.tar。

但是当我尝试这样做时:

arc_name="arc_"`date +%F`".tar"
(find /usr/sap/ST1/POC/backtest/*.txt )| xargs -I % sh -c 'tar cvf "$arc_name" % ; rm -f %'

输出错误:

tar: : No such file or directory

请帮我继续这件事。

最佳答案

这会正常工作:

(find /usr/sap/ST1/POC/backtest/*.txt) | xargs -I {} sh -c 'arc_name="arc_"`date +%F`".tar"; tar cvf "$arc_name" {} ; rm -f {}'

所以你的命令的问题是 sh -c 似乎无法读取你的变量,如果我们可以称之为变量范围的话,

因此将变量 arc_name="arc_"date +%F".tar" 移动到 sh 中是有意义的。

但您必须更改 xargs 中的 %,因为这会导致 date + 中的 % 符号出现问题%F 函数

关于linux - 变量作为 SunOs 5.10 中的 Tar 文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42503881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com