Sunos 5.10中的变量为焦油文件名



我正在尝试在

中获得以下结果

1.文件存档为焦油,当前日期是焦油名称的一部分。2.归档后删除的文件。

/usr/sap/st1/poc/back -test/*。txt有2个txt文件。

(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 ::没有这样的文件或目录

请帮助我继续此操作。

这将正常工作:

(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_"日期 %F ".tar"移至sh是有意义的。

但是您必须在xargs中更改%,因为这会在date +%F函数中与您的%符号产生问题

相关内容

  • 没有找到相关文章

最新更新