分页: 1 / 1
[求助]如何转换这个字符串?
发表于 : 2010-04-20 4:30
由 bigsun
请问想吧如下字符串:
/home/aaa bbb /home/ddd ccc /hobe/asdi /hobe/sdi aaa
转换成:
"/home/aaa bbb" "/home/ddd ccc" "/hobe/asdi" "/hobe/sdi aaa"
如何做最好?
Re: [求助]如何转换这个字符串?
发表于 : 2010-04-20 8:41
由 eexpress
碰到\<\/ 就加 “ ” 。再吧多余的去掉。尾巴上还加一个“
Re: [求助]如何转换这个字符串?
发表于 : 2010-04-20 11:17
由 bigsun
压缩文件,要能处理带空格的文件
代码: 全选
#!/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 "$@"
注释掉的部分看上去正常,用起来有问题.最后用file-roller -d "$@"成功.不知问题出在哪里.
Re: [求助]如何转换这个字符串?
发表于 : 2010-04-20 22:22
由 cosechy
变量里的\不会被当作转义字符,而且用引号包含的参数(除非带有$@之类的东西)不管怎么样都会被解释为一个参数,在这里就是把整个字符串当作一个文件名
最好就应该用$@,否则的话,要是有个目录名以空格结尾咋办?