Shell-Script
使用 POSIX 工具反轉文件序列?
是否有任何干淨、清晰的 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