我想颠倒文本文件(或stdin)中行的顺序,保留每行的内容。所以,即从以下开始:foobarbaz我想结束bazbarfoo是否有标准的UNIX命令行实用程序?
3 回答
米脂
TA贡献1836条经验 获得超3个赞
有着名的sed技巧:
# reverse order of lines (emulates "tac")
# bug/feature in HHsed v1.5 causes blank lines to be deleted
sed '1!G;h;$!d' # method 1
sed -n '1!G;h;$p' # method 2
(说明:在非初始行前加上保持缓冲区,交换行和保持缓冲区,在末尾打印出行)
或者(从更快的执行)来自awk单行:
awk '{a[i++]=$0} END {for (j=i-1; j>=0;) print a[j--] }' file*
如果你不记得了,
perl -e 'print reverse <>'
在具有GNU实用程序的系统上,其他答案更简单,但并非全世界都是GNU / Linux ......
- 3 回答
- 0 关注
- 915 浏览
添加回答
举报
0/150
提交
取消