Linux Tar搜索结果位于.sh文件中
我必须对文件列表进行tar,没有路径,这是通过sh查找的结果(用于crontab) 在ubuntu的shell中,每个命令都可以正常工作,但在Linux Tar搜索结果位于.sh文件中,linux,find,sh,tar,Linux,Find,Sh,Tar,我必须对文件列表进行tar,没有路径,这是通过sh查找的结果(用于crontab) 在ubuntu的shell中,每个命令都可以正常工作,但在.sh中则不行 我试过: #!/bin/sh tar -zcvf /destination/one-$(date +"%Y%m%d").tgz < find /myfolder/ -iname 'one*' -printf '%f\n' 但两者都失败了。有人能帮忙吗?替代品 其他场景信息: /myfolder/包含: one1.log on
.sh
中则不行
我试过:
#!/bin/sh
tar -zcvf /destination/one-$(date +"%Y%m%d").tgz < find /myfolder/ -iname 'one*' -printf '%f\n'
但两者都失败了。有人能帮忙吗?替代品
其他场景信息:
- /myfolder/包含:
- one1.log
- one2.log
- one3.log
- two1.log
- two2.log
我想要一个包含one1.log、one2.log、one3.log的.tgz
stdin上的tar
:
find . -name \*.png -print0 | tar -cv --null -T- -f tarball.tar
就我而言:
find /myfolder/ -iname "one*" -print0 | tar -czv --null -T- -f /destination/one-$(date +"%Y%m%d").tar.gz
它看起来不错,但可能会将tar命令中的destination/..
目录更改为绝对路径。像tar-czvf/your/folder/path/destination/one-$…
My error reporting.sh variable value:in.sh路径来自一个变量:DESDIR=/app/zips离我不远第二次尝试:find/myfolder/-iname'one*'-print0 | tar-czvf/destination/one-$(日期+%Y%m%d).tar.gz--null-T-这也不能像我那样在结尾使用-f
。这不起作用:find/myfolder/-iname'one*'-print0 | tar-cv--null-T--f/destination/one-$(date+%Y%m%d”)。tar它创建了一个没有内容的tar文件,您需要进行简化,直到它起作用。尝试删除|…
并查看find
是否输出任何内容,尝试用简单字符串替换$(日期…
。解决方案:用双引号代替apix:find/myfolder/-iname“one*”-print0 | tar-czv--null-T--f/destination/one-$(日期+%Y%m%d”).tar gz
find /myfolder/ -iname "one*" -print0 | tar -czv --null -T- -f /destination/one-$(date +"%Y%m%d").tar.gz