请问想吧如下字符串:
/home/aaa bbb /home/ddd ccc /hobe/asdi /hobe/sdi aaa
转换成:
"/home/aaa bbb" "/home/ddd ccc" "/hobe/asdi" "/hobe/sdi aaa"
如何做最好?
[求助]如何转换这个字符串?
- bigsun
- 帖子: 301
- 注册时间: 2009-01-11 16:05
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- bigsun
- 帖子: 301
- 注册时间: 2009-01-11 16:05
Re: [求助]如何转换这个字符串?
压缩文件,要能处理带空格的文件
注释掉的部分看上去正常,用起来有问题.最后用file-roller -d "$@"成功.不知问题出在哪里.
代码: 全选
#!/bin/bash
filename="$@"
#files=`echo "$filename"|sed 's/ \//" "\//g'|sed '/\//{s/^/"/;s/$/"/}'`
#files=`echo "$filename"|sed 's/ /\\ /g'|sed 's/\\ \// \//g'`
#file-roller -d "$files"
file-roller -d "$@"
-
- 帖子: 82
- 注册时间: 2008-03-06 4:56
Re: [求助]如何转换这个字符串?
变量里的\不会被当作转义字符,而且用引号包含的参数(除非带有$@之类的东西)不管怎么样都会被解释为一个参数,在这里就是把整个字符串当作一个文件名
最好就应该用$@,否则的话,要是有个目录名以空格结尾咋办?
最好就应该用$@,否则的话,要是有个目录名以空格结尾咋办?