LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1410|回复: 11

怎么把文件的各行的值依次副给变量

[复制链接]
发表于 2003-2-15 16:08:29 | 显示全部楼层 |阅读模式
还有用grep时候怎么匹配空格

原来是想把目录内有大写字母的文件名
全部该为小写
就有了这些问题
 楼主| 发表于 2003-2-15 20:45:30 | 显示全部楼层
help
发表于 2003-2-15 23:23:47 | 显示全部楼层
用sed的y(变换大小写字母)命令试试!
把你的信息帖出来,大家帮你;) OK?!
 楼主| 发表于 2003-2-16 09:50:18 | 显示全部楼层
我已经说清楚了呀
sed加y我回去试一下,不过sed好象没有这个功能呀

读文件的内容,然后复值给变量
用read好象每次只读第一行,
发表于 2003-2-16 10:14:52 | 显示全部楼层
发表于 2003-2-16 14:29:48 | 显示全部楼层
  1. exec -3< filename //exec打开文件描述符3,从filename读取
  2. read -u3 n        //读一行,并赋值给变量n
  3. ...
  4. exec 3<&-         //关闭文件描述符3.
复制代码
可以用循环语句实现.
我说得不知道是否正确? 请指教
 楼主| 发表于 2003-2-16 23:47:07 | 显示全部楼层
javalee
这样不可以啊

while (true)
read a b c
done < text

这个也不可以,while true
就一直下去了,具体做了什么我不知道
发表于 2003-2-17 00:29:55 | 显示全部楼层
1.sed替换大小写用:
$sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' filename //y命令前可以限制范围如:sed '1,9y/a.....Z/' filename
2.你可以参考exec和read的组合来试试;)
发表于 2003-2-17 09:42:32 | 显示全部楼层
可以用tr

echo "HIHIHIHIHI" |tr "[A-Z]" "[a-z]"
 楼主| 发表于 2003-2-17 16:50:20 | 显示全部楼层
tr我知道怎么用的

我就是现用ls把文件定向到name
然后用tr把name中所由字母改为
小写的,保存为name.lower

最后就是想在name中读一个文件名,赋给i
再从name.lower中读一个文件名赋给j
然后用 mv $i $j
的办法把所由文件名都改为小写的


现在就是读文件名时不会做
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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