首页 > 程序开发 > 【Csh】逐行读取并处理文本(文件)

【Csh】逐行读取并处理文本(文件)

2011年1月27日 发表评论 阅读评论

脚本处理需要从文件中读入数据,然后逐行进行执行别的命令,此时单纯用awk或sed无法完成任务,就需要逐行读取文件中每一行的内容到变量,然后再进行处理。

Bash Shell的处理方法见【Shell】逐行读取并处理文本

C Shell的语法特殊,与常规的Bash Shell不同,代码如下:

代码一

#!/bin/csh
set n=`wc -l <session.dat`
set i=1
while ($i <= $n)
   set line="`awk '{if (NR == $i) print}' data.dat`"
   echo "${line}"
   @ i ++
end

代码二

#!/bin/csh
foreach line (`awk '{print}' data.dat`)
   echo "${line}"
end

其中代码一为完美做法;代码二只适用于文件行中没有空格的情况,否则foreach会识别为多个元素。


枫芸志原创文章,转载请注明来源并保留原文链接




本文链接:http://witmax.cn/csh-read-line.html




分类: 程序开发 标签: , 13,096次阅读
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
订阅评论
  欢迎参与讨论,请在这里发表您的看法、交流您的观点。

无觅相关文章插件,快速提升流量