Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1904|回复: 5

[Shell] Cshell 循环读取txt文件 [复制链接]

Rank: 8Rank: 8

发表于 2012-8-18 10:10:15 |显示全部楼层
读文件操作是编程语言和脚本的基本功能,Cshell作为古老的Unix脚本语言,可以用很多方式来实现读取文本。
这里介绍一种方法,介绍如何把txt文本每一行都读入Cshell变量进行处理的方法, 而且可以预先筛选不需要的行。

文本文件:sce.txt
  1. ###############################
  2. # Test PGM Conifg information #
  3. ###############################
  4. PROGRAM_DIR:/home/production/F_MAX232_100SITES_V1
  5. PROGRAM_NAME:FT_MAX232_100SITES_PARL_V1.load
  6. ###### Do not delete this line #
复制代码

脚本文件:loop.sh
  1. #!/bin/csh
  2. foreach record(` sed '/^#/d' sce.txt`)
  3.       echo $record
  4. end
  5. exit 0
复制代码

loop.sh运行结果:
PROGRAM_DIR:/home/production/F_MAX232_100SITES_V1
PROGRAM_NAME:FT_MAX232_100SITES_PARL_V1.load

这里是用foreach record和sed配合实现循环读取和筛选的功能

使用道具 举报

Rank: 8Rank: 8

发表于 2012-8-18 10:19:58 |显示全部楼层
这个foreach record 加 sed 循环有三个弊病,请大家使用的时候注意哦

1. sed 读取不到最后一样文本
2. 如果一行文本里面包含空格,它会以空格为分割把一行文本当作多个record
3. 似乎foreach record循环的速度非常慢,哪怕你的文本很少。

使用道具 举报

Rank: 3Rank: 3

发表于 2014-2-22 03:09:22 |显示全部楼层
好帖要顶,楼主的头像还是不错滴

使用道具 举报

Rank: 3Rank: 3

发表于 2014-3-3 04:16:46 |显示全部楼层
好帖要顶,楼主的头像还是不错滴

使用道具 举报

Rank: 2

发表于 2015-6-4 23:48:36 |显示全部楼层
剑侠情缘服务端密传服务端街头篮球服务端A3私服务端破天一剑服务端
魔域服务端魔兽世界服务端天龙八部服务端RF服务端传奇归来私服务端
风云雄霸天下服务端天之炼狱一条龙大话西游服务端精灵复兴私服务端

IDC服务器以及空间租用**私服服务端出售开区一条龙
传奇广告代理(详细介绍)-http://www.n7ss.com/index15.htm
官方网站:http://www.n7ss.com
客服咨询QQ1292124634(企鹅扣扣)
Email:1292124634@qq.com

www.n7ss.com免费服务端版本下载地址(已修复不能下载问题):
http://www.n7ss.com/soft/index.html

传奇世界私服开服一条龙服务-http://www.n7ss.com
魔域开区sf一条龙开区服务-http://www.n7ss.com
魔兽私服开区一条龙服务-http://www.n7ss.com












传奇开私服一条龙开区服务 魔兽世界sf开服一条龙服务

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|IC Test Forum Inc.

GMT+8, 2019-1-18 00:44 , Processed in 0.669572 second(s), 12 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部