$ find /opt/backup/test -name "*.gz" -exec smbclient -A \
/opt/backup/smbclient_authentication.txt //1.1.1.1/test -c put '{}' \;目录下有多个目录和其他文件,然后是*.gz,我想用smbclient移动使用find找到的文件。当然,这是行不通的,因为我遗漏了最后一点。与共享的连接可以工作,find也可以工作,这是最后一点不能工作的部分。有什么想法吗?
发布于 2013-04-26 21:30:00
您可以使用xargs从输入流创建参数
xargs find /opt/backup/test -name "*.gz" \
| smbclient -A /opt/backup/smbclient_auth.txt //1.1.1.1/test -c put 如果我理解正确的话,除了通过smb传输之外,您还想在本地移动文件。您可以:
set -e #<- abort on error
for f in `find -name '*.gz' -or -name '*.zip'`; do
smbclient -A /opt/backup/smbclient_auth.txt //1.1.1.1/test -c put "$f"
mv "$f" ./transfered/
donehttps://stackoverflow.com/questions/16235877
复制相似问题