Chinaunix

标题: 如何逐行读取文本内容? [打印本页]

作者: hipper    时间: 2003-06-12 17:38
标题: 如何逐行读取文本内容?
两问题:
1、在SHELL程序里,如何读取指定文本文件里的一行内容进行其他处理,完后再读取下一行?即类似PERL里的FOREACH
2、有没有显示指定文件里指定某行内容的系统指令?
作者: anonimousboy    时间: 2003-06-12 17:51
标题: 如何逐行读取文本内容?
原帖由 "hipper" 发表:
两问题:
1、在SHELL程序里,如何读取指定文本文件里的一行内容进行其他处理,完后再读取下一行?即类似PERL里的FOREACH
2、有没有显示指定文件里指定某行内容的系统指令?
   
while read line
do
#your process
done < urfile
作者: 红袖添香    时间: 2003-06-12 17:58
标题: 如何逐行读取文本内容?
[quote]原帖由 "hipper"]2、有没有显示指定文件里指定某行内容的系统指令?[/quote 发表:
   

sleeve@magic:~/tmp$ cat -n a.csh   # n 参数表示显示行号
     1  #!/bin/csh
     2
     3  foreach i ( 1 2 3 4 5 )
     4   echo $i
     5  end
     6  echo $#argv
     7  echo $argv
     8  echo $argv[4]
sleeve@magic:~/tmp$ sed -n '3p' a.csh
foreach i ( 1 2 3 4 5 )
sleeve@magic:~/tmp$ sed -n '2,5p' a.csh

foreach i ( 1 2 3 4 5 )
echo $i
end
sleeve@magic:~/tmp$
作者: hipper    时间: 2003-06-12 19:37
标题: 如何逐行读取文本内容?
问题已解决
谢谢楼上二位!
另,如何提取文件里指定字符结尾的行?
作者: 红袖添香    时间: 2003-06-12 19:42
标题: 如何逐行读取文本内容?
...

还是上面的例子,提取以 argv 结尾的行

sleeve@magic:~/tmp$ sed -n '/argv$/p' a.csh
echo $#argv
echo $argv
sleeve@magic:~/tmp$
作者: hipper    时间: 2003-06-12 20:08
标题: 如何逐行读取文本内容?
问题虽小,但对我的帮助很大
再次感谢楼上各位的热心解答:)
作者: anonimousboy    时间: 2003-06-13 08:10
标题: 如何逐行读取文本内容?
原帖由 "红袖添香" 发表:
oreach i ( 1 2 3 4 5 )
echo $i
end
sleeve@magic:~/tmp$
   
CSH中居然有FOREACH函数,可BASH中居然没有~~~
作者: 红袖添香    时间: 2003-06-13 14:32
标题: 如何逐行读取文本内容?
原帖由 "anonimousboy" 发表:
   
CSH中居然有FOREACH函数,可BASH中居然没有~~~
   

bash 不是有 for 吗?

csh 编程能力不如 ksh, bash.
作者: nkliyong    时间: 2003-06-13 16:10
标题: 如何逐行读取文本内容?
红袖早啊.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2