使用 POSIX 工具反转文件的顺序?

Wil*_*ard 5 shell-script text-processing posix cat

是否有任何干净、清晰的 POSIX 等价于tac?

应该同时考虑可读性和简洁性。

don*_*sti 5

最干净的POSIX等价物是

tail -r
Run Code Online (Sandbox Code Playgroud)

作为

tail -r
Run Code Online (Sandbox Code Playgroud)

已被接受用于下一个POSIX问题(希望它很快就会在所有平台上得到支持)。


如果tail -r不可用,可以成功使用“经典”文本处理工具(正如您和其他人所展示的那样)来反转文件中的行。
撇开可读性和简洁性不谈,即使是老的ed也能做到:

ed -s infile <<\IN
g/^/m0
,p
q
IN
Run Code Online (Sandbox Code Playgroud)

或者,如果您想要反转管道的输出 - 首先将其读入文本缓冲区:

ed -s <<\IN
r ! your | pipeline | goes | here
g/^/m0
,p
q
IN
Run Code Online (Sandbox Code Playgroud)