格式化在下一个命令中使用之前查找输出

时间:2014-09-29 17:51:26

标签: unix curl ftp terminal find

我使用此命令批量上传文件到使用find和curl的FTP服务器:

find /path/to/target/folder -not -path '*/\.*' -type f -exec curl -u username:password --ftp-create-dirs -T {} ftp://ftp.myserver.com/public/{} \;

问题是找到输出路径,如

/full/path/from/root/to/file.txt

所以在FTP服务器上我将文件上传到

ftp.myserver.com/public/full/path/from/root/to/file.txt

而不是

ftp.myserver.com/public/relative/path/to/file.txt

目标是将目标文件夹中的所有文件和文件夹上传到公用文件夹,但此问题正在破坏文件结构。有没有办法编辑查找输出以在路径被送入curl之前修剪路径?

1 个答案:

答案 0 :(得分:1)

不确定你想要在你的路径中最终得到什么,但这应该给你一个想法。诀窍是执行sh以允许您修改路径并运行命令。

find . -type f -exec sh -c 'joe=$(basename {}); echo $joe' \;