LinuxSir.cn,穿越时空的Linuxsir!

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

请教:对一个固定格式的文件内容处理的问题

[复制链接]
发表于 2004-9-29 18:29:04 | 显示全部楼层 |阅读模式
有一个类似数据库TABLE的文件,分3列,N行;
我想分别读取每一行的内容,存到一个变量中,然后执行一些处理;
再读取下一行,进行处理;一直读到最后一行.....

不知道该从何入手.....
发表于 2004-9-29 21:28:38 | 显示全部楼层
  1. while read line;do
  2. var=$line
  3. ...
  4. done<file
复制代码
 楼主| 发表于 2004-9-30 08:11:12 | 显示全部楼层
不太会用,我用的是CSH,
例如我要一行一行读test.config中的内容,该如何写啊?
发表于 2004-10-4 22:29:15 | 显示全部楼层
最初由 wdl36 发表
不太会用,我用的是CSH,
例如我要一行一行读test.config中的内容,该如何写啊?


  1. #!/bin/csh
  2. foreach line (`cat test.config`)
  3. echo $line
  4. ...
  5. end
复制代码

更多的关于csh/tcsh的内容,请参阅:
http://www.linuxsir.cn/bbs/showthread.php?threadid=35732
 楼主| 发表于 2004-10-8 18:00:19 | 显示全部楼层
感谢Lee的指导!也许是我没有表达清楚,例如我的test.config中是这样的内容:
ID        name
001        Jay
002        Nicky
003        Robin
004        Sophie
我需要将每一行的资料存到变量中,例如用foreach line(...)将第一行资料存到line中,然后需要通过$line[1],$line[2]来引用其中2个数值。
如果按上述脚本执行结果是按空格分隔出每个单词。
不知道有没有其他方法?
发表于 2004-10-9 01:32:57 | 显示全部楼层
逐行读出,然后赋值给一个数组,这样就可以可以了!
 楼主| 发表于 2004-10-9 07:21:17 | 显示全部楼层
问题是怎样逐行读出啊?
发表于 2004-10-9 11:33:49 | 显示全部楼层
上述的方法都是逐行读出的.像:
foreach line (`cat test.config`)
echo $line #在这里,对每一行进行操作
...
end
 楼主| 发表于 2004-10-9 11:42:20 | 显示全部楼层
就拿上面的config为例,脚本中用
foreach line (`cat test.config`)
echo $line
end
返回结果如下:
ID
name
001
Jay
002
Nicky
003
Robin
004
Sophie
我是希望能通过$line[1],$line[2]来引用ID和NAME。
这样的话恐怕我只能通过判断奇偶数来区别了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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