Shell-Script

使用 POSIX 工具反轉文件序列?

  • April 26, 2021

是否有任何干淨、清晰的 POSIX 等效於tac

應同時考慮可讀性和簡潔性。

最乾淨的POSIX等價物是

tail -r

作為

-r          Reverse. Copies lines from the specified starting point in
           the file in reverse order. The default for r is to print the
           entire file in reverse order.

已被下一個POSIX問題所接受(希望它很快會在所有平台上得到支持)。


如果tail -r不可用,則可以成功使用“經典”文本處理工具 - 正如您和其他人所展示的那樣 - 反轉文件中的行。

除了可讀性和簡潔性之外,即使是老的ed也可以做到:

ed -s infile <<\IN
g/^/m0
,p
q
IN

或者,如果它是您想要反轉的管道的輸出 - 首先將其讀入文本緩衝區:

ed -s <<\IN
r ! your | pipeline | goes | here
g/^/m0
,p
q
IN

引用自:https://unix.stackexchange.com/questions/280685