Cshell 循环读取txt文件
读文件操作是编程语言和脚本的基本功能,Cshell作为古老的Unix脚本语言,可以用很多方式来实现读取文本。这里介绍一种方法,介绍如何把txt文本每一行都读入Cshell变量进行处理的方法, 而且可以预先筛选不需要的行。
文本文件:sce.txt
###############################
# Test PGM Conifg information #
###############################
PROGRAM_DIR:/home/production/F_MAX232_100SITES_V1
PROGRAM_NAME:FT_MAX232_100SITES_PARL_V1.load
###### Do not delete this line #
脚本文件:loop.sh
#!/bin/csh
foreach record(` sed '/^#/d' sce.txt`)
echo $record
end
exit 0
loop.sh运行结果:
PROGRAM_DIR:/home/production/F_MAX232_100SITES_V1
PROGRAM_NAME:FT_MAX232_100SITES_PARL_V1.load
这里是用foreach record和sed配合实现循环读取和筛选的功能
这个foreach record 加 sed 循环有三个弊病,请大家使用的时候注意哦
1. sed 读取不到最后一样文本
2. 如果一行文本里面包含空格,它会以空格为分割把一行文本当作多个record
3. 似乎foreach record循环的速度非常慢,哪怕你的文本很少。
-
I can recommend to come on a site where there is a lot of information on a theme interesting you.
页:
[1]