爱黑武论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5615|回复: 14

LInux编程中的变量中有空格的问题 不知道我们论坛有没有懂的??

[复制链接]
发表于 2009-4-24 11:31 | 显示全部楼层 |阅读模式

立即注册,加入爱黑武论坛的大家庭!爱黑武,爱上搞机生活!

您需要 登录 才可以下载或查看,没有账号?注册

x
举个例子
一个文件夹中有几个文件 ,文件名有空格,,现在我要对每一个文件进行操作
3文件,他们的名字是
4314 dw
dwa .dwa
dwa adw.chm
我可以用for循环
name=`ls`
for i in $name
do echo \"$i\"
done
结果
输出的不是3文件,而是6行
4314
dw
dwa
.dwa
dwa
adw.chm
至于为什么,大家应该明白原因 所以我又试了一个这个样子的命令
for i in \"4314 dw\" \"wa .dwa\" \"wa adw.chm\"
do echo \"$i\"
done
输入结果就是3行
4314 dw
dwa .dwa
dwa adw.chm
我就耍了下小聪明,,用了下面的命令
name=`ls | sed 's/.*/\"&\"/g'`
echo $name
for i in $name
do echo \"$i\"
done
大家猜下结果会怎么样....
\"4314 dw\" \"wa .dwa\" \"wa adw.chm\"
\"4314
dw\"
\"wa
.dwa\"
\"wa
adw.chm\"
很明显name的值为\"4314 dw\" \"wa .dwa\" \"wa adw.chm\",我用name的值代入for循环,,我希望变量中的双引号起作用,,如果起作用,那么结果就会是
4314 dw
dwa .dwa
dwa adw.chm
但是变量中的双号不起作用,,
现在很多的文件夹的名字都有空格,这些空格最是郁闷,,因为我们的shell的命令是以空格作为分割,文件夹的名字有空格,就只有加双引号
但是我们把文件夹名字赋值给一个变量,在变量中 双引号就不起作用了 ,那么这个文件夹应该怎样用变量使用呢???????????
目前我有一个十分麻烦的方法,,
for i in `ls | sed -n '='`
do name=`ls | sed -n $i\\p`
echo \"$name\"
done
结果
4314 dw
dwa .dwa
dwa adw.chm
虽然功能实现了,但是我觉得十分麻烦,,希望高手指点下,,最好是 直接用 for循环代入文件夹的名字 ,这样多好呢???????????????????????
发表于 2009-4-24 11:33 | 显示全部楼层

Re:LInux编程中的变量中有空格的问题 不知道我们论坛有没有懂的????

我,不懂 [s:58]
发表于 2009-4-24 11:36 | 显示全部楼层

Re:LInux编程中的变量中有空格的问题 不知道我们论坛有没有懂的????

我,也不懂········[s:58]
发表于 2009-4-24 11:45 | 显示全部楼层

Re:LInux编程中的变量中有空格的问题 不知道我们论坛有没有懂的????

顶顶,看看
发表于 2009-4-24 11:56 | 显示全部楼层

Re:LInux编程中的变量中有空格的问题 不知道我们论坛有没有懂的????

帮顶
发表于 2009-4-24 15:18 | 显示全部楼层

Re:LInux编程中的变量中有空格的问题 不知道我们论坛有没有懂的????

鱼儿~试试这些方法~
(1)ls -Q
(2)先把空格转为其它字符~比如_
sed 's/ /_/g'
然后操作~完后再替换回来~
我现在用的E6~手头没Z6~测试结果告诉我~
发表于 2009-4-24 15:57 | 显示全部楼层

Re:LInux编程中的变量中有空格的问题 不知道我们论坛有没有懂的????

呵呵,很高深啊,帮你顶了
发表于 2009-4-24 16:42 | 显示全部楼层

Re:LInux编程中的变量中有空格的问题 不知道我们论坛有没有懂的????

正在学SHELL当中,还帮不上忙
发表于 2009-4-24 21:01 | 显示全部楼层

Re:LInux编程中的变量中有空格的问题 不知道我们论坛有没有懂的????

for fname in /path/*
do
echo $fname
done
发表于 2009-4-25 09:32 | 显示全部楼层

Re:LInux编程中的变量中有空格的问题 不知道我们论坛有没有懂的????

不懂啊.. 什么时候我才能懂啊..?
小虾不用z6了..?那我们没那么多软件用了..
 Hello,黑武的好机友!回复想偷个懒?点这里: 
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|Archiver|手机版|爱黑武论坛 ( 京ICP备2023028323号 | 京公网安备11011202000270号 )

GMT+8, 2024-5-4 17:14 , Processed in 0.030047 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, ihei5.com

快速回复 返回顶部 返回列表