一个可以缓冲标准输入或文件的程序

Modified on: Sat, 30 Jun 2018 05:12:00 +0800

除了使用临时文件来帮助之外,是否有一种方法/程序可以缓冲来自stdin的输入,但在获取EOF之前不会输出内容。我也不想使用shell变量(例如buffer=$(cat))。

此程序的行为如下(假设程序名称为buffered-cat):

$ buffered-cat
line 1
line 2
line 3
^D # Ctr-D here(End of Line)

现在程序收到^Dbuffered-cat输出内容

line 1
line 2
line 3

最佳答案

使用sponge的穷人的awk

awk '{a[NR] = $0} END {for (i = 1; i <= NR; i++) print a[i]}'

如果你有tac,你也可以滥用它:

... | tac | tac
作者:muru

相关问答

添加新评论