Chinaunix首页 | 论坛 | 博客
  • 博客访问: 491308
  • 博文数量: 71
  • 博客积分: 1332
  • 博客等级: 少尉
  • 技术积分: 772
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-10 16:25
个人简介

文章分类

全部博文(71)

文章存档

2013年(19)

2012年(9)

2011年(43)

分类: Python/Ruby

2011-03-29 22:19:51

登录sftp服务器,获取含有空格的文件,碰到问题:
不能下载。

  1. # sftp -oPort=22 user@X.X.X.X
  2. Connecting to X.X.X.X
  3. user@X.X.X.X's password:right_password
  4. sftp>ls
  5. a b.txt(这里是一个文件)
  6. sftp>get a\ b.txt
  7. Couldn't stat remote file: No such file or directory
解决办法:
使用lftp连接sftp

  1. # lftp -u user,right_password sftp://X.X.X.X <
  2. lcd /tmp
  3. get "a b.txt"
  4. bye
  5. EOF
文件拿下来之后,在处理时不方便,想了一个办法,用一个特定的字符串将空格替换掉,然后再处理含有这个特殊字串的文件。

脚本片段如下:

  1. IN_NAME =`echo "$in_name" | sed 's/\ /_o_w_i_n_u_x_/g'`
  2. if [ "$in_name" != "$IN_NAME" ]
  3. then
  4.        cp "$in_name" "$IN_NAME"
  5. fi
IN_NAME为替换掉空格的文件名,如果原来文件名不含有空格可以通过 if 判断略去 cp 这一步。这样处理起不含空格的文件就大大方便了。




阅读(6298) | 评论(4) | 转发(0) |
给主人留下些什么吧!~~

owinux2011-03-30 22:46:55

GFree_Wind: 我在普通的ftp服务器上遇到过这样的情况,一般来说用双引号或者单引号就可以解决。你再试试单引号.....
提示是一样的,单引号也不行
sftp> get '[Nipponsei] To.zip'
File "/[Nipponsei] To.zip" not found.
sftp>

GFree_Wind2011-03-30 22:44:25

我在普通的ftp服务器上遇到过这样的情况,一般来说用双引号或者单引号就可以解决。你再试试单引号

owinux2011-03-30 22:42:21

GFree_Wind: sftp>get "a b.txt",不可以吗?.....
应该是不可以,我截取的结果
sftp> get "[Nipponsei] To.zip"
File "/[Nipponsei] To.zip" not found.
sftp>

GFree_Wind2011-03-30 22:19:29

sftp>get "a b.txt",不可以吗?