具有FTP访问权限的sed命令

具有FTP访问权限的sed命令,sed,Sed,我试图通过在远程FTP位置上使用sed来替换多个关键字 sed -i -e 's/Squit/Use/g' ftp://server247.web-hosting.com/squit.io/index.html && sed -i -e 's/squit/ooze/g' ftp://server247.web-hosting.com/squit.io/index.html curl 'ftp://server247.web-hosting.com/squit.io/index.

我试图通过在远程FTP位置上使用
sed
来替换多个关键字

sed -i -e 's/Squit/Use/g' ftp://server247.web-hosting.com/squit.io/index.html && sed -i -e 's/squit/ooze/g' ftp://server247.web-hosting.com/squit.io/index.html
curl 'ftp://server247.web-hosting.com/squit.io/index.html' |
sed -e 's/Squit/Use/g' -e 's/squit/ooze/g' >/tmp/squit.io.index.html
# Then upload it back somehow
我收到一个错误,文件夹找不到


这是使用
sed
访问远程文件夹的正确语法吗?或者所包含的文件夹中可能有错误?

在常规类Unix系统上,无法通过
ftp
访问远程文件,就好像它们是本地文件一样。您可能会找到支持此功能的虚拟文件系统驱动程序(google for FUSE)或操作系统(Plan 9,Inferno?);但这就成了您选择的平台的问题,而不是关于
sed
或U*x的问题

标准解决方案是下载文件,在本地修改,然后将其上传回原始位置

sed -i -e 's/Squit/Use/g' ftp://server247.web-hosting.com/squit.io/index.html && sed -i -e 's/squit/ooze/g' ftp://server247.web-hosting.com/squit.io/index.html
curl 'ftp://server247.web-hosting.com/squit.io/index.html' |
sed -e 's/Squit/Use/g' -e 's/squit/ooze/g' >/tmp/squit.io.index.html
# Then upload it back somehow

还要注意在一次调用中组合多个
sed
命令的语法。如果确实可以就地编辑远程文件,您尤其希望避免多次往返和多次重写文件的开销;但是,即使对于本地处理,如果可能的话,这也是必须避免的。

我高度怀疑任何版本的
sed
都不能直接访问远程文件。@DarkFalcon是否有类似于“sed”的工具作为流编辑器,可以一次替换多个关键字?