带FTP访问的sed命令

时间:2019-03-03 00:09:59

标签: 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

我收到找不到该文件夹​​的错误。

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

1 个答案:

答案 0 :(得分:1)

在类似于Unix的常规系统上,无法像通过本地文件一样通过ftp访问远程文件。您也许可以找到支持此功能的虚拟文件系统驱动程序(适用于FUSE的Google)或操作系统(计划9,Inferno?);但这成为您选择的平台的问题,而不是sed或U * x。

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

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命令的语法。如果确实有可能就地编辑远程文件,则您特别希望避免多次往返的开销并多次重写文件;但即使是本地处理,也绝对要避免。