0
$ find /opt/backup/test -name "*.gz" -exec smbclient -A \
/opt/backup/smbclient_authentication.txt //1.1.1.1/test -c put '{}' \;

dir の下に複数のディレクトリと他のファイル*.gzがあり、find で見つかったファイルを smbclient で移動したい。もちろん、最後のビットが欠けているため、これは機能しません。共有への接続は機能し、find機能しますが、機能しないのは最後のビットです。何か案は?

4

1 に答える 1

1

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/
done
于 2013-04-26T13:29:59.660 に答える