变量作为SunOS的5.10
问题描述:
tar文件名,我试图让存档与当前日期作为焦油名称的一部分焦油变量作为SunOS的5.10
1.files以下结果。 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_"
日期+%F ".tar"
转换为sh
是有意义的。
,但你将不得不改变%
在xargs
,因为这会date +%F
函数产生一个问题,你%
符号
非常感谢你 –