小编mid*_*ayc的帖子

Rebol 3:逐行有效地读取STDIN(使awk像工具一样)

我试图制作一个类似awk的工具,它使用Rebol 3来处理带有bash管道和工具的更大的文本文件.我在Rebol 3中逐行读取STDIN时遇到问题?

例如,这个shell命令产生3行:

$ (echo "first line" ; echo "second line" ; echo "third line" )
first line
second line
third line
Run Code Online (Sandbox Code Playgroud)

但是Rebol的输入字同时读取所有3行.如果您以交互方式使用输入,我会期望它停止在换行符处停止.

r3 --do 'while [ x: input ] [ if empty? x [ break ] print x print   "***" ]' 
abcdef
abcdef
***
blabla
blabla
***
Run Code Online (Sandbox Code Playgroud)

但是当我一起运行它时,它会立即读取整个输入.我可以同时阅读这一切,并分割成线,但我希望它在"流"的方式,因为我平时工作中的行许多1000-S.

$ (echo "first line" ; echo "second line" ; echo "third line" )  \
  | r3 --do 'while [ x: input ] [ if …
Run Code Online (Sandbox Code Playgroud)

stdin rebol rebol3

5
推荐指数
1
解决办法
222
查看次数

标签 统计

rebol ×1

rebol3 ×1

stdin ×1