【Csh】逐行读取并处理文本(文件)
脚本处理需要从文件中读入数据,然后逐行进行执行别的命令,此时单纯用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会识别为多个元素。
你这脚本自己运行过吗?
[回复]
晴枫 5月 24th, 2018 上午12:01 回复:
很早以前的东西了,应该是运行过的
[回复]