免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3417 | 回复: 10
打印 上一主题 下一主题

倒序输出,我写了一个,大家看看有没有更好的谢谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-23 07:15 |只看该作者 |倒序浏览
1 a
2 b
3 c
4 d
5 e
6 f
把上面的文本倒着输出
6 f
5 e
4 d
3 c
2 b
1 a

{
   args1[NR]=$1 ; args2[NR]=$2
}
END{
  
    for (i = NR ; i > 0 ; i--){
      
      print args1" "args2
}
}

这是我写的,大家看看有没有更好的方法实现。谢谢

论坛徽章:
0
2 [报告]
发表于 2010-01-23 08:52 |只看该作者
tac <urfile>

论坛徽章:
0
3 [报告]
发表于 2010-01-23 09:41 |只看该作者

回复 #1 iori809 的帖子

awk '{a[NR]=$0}END{for (j=NR;j>0;j--) print a[j]}' file
sed '1!G;h;$!d' file

论坛徽章:
0
4 [报告]
发表于 2010-01-23 09:51 |只看该作者

回复 #3 ywlscpl 的帖子

呵呵,对 应该用$0。 想多了  感谢

论坛徽章:
0
5 [报告]
发表于 2010-01-23 10:46 |只看该作者
:wink: 偶还是喜欢tac来的直接。。。

论坛徽章:
0
6 [报告]
发表于 2010-01-23 11:50 |只看该作者
呵呵。 其实我知道那个命令只不过是想练练AWK。这不是一个应用只是看到后思考能否用AWK来实现罢了

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-02-10 06:20:01IT运维版块每日发帖之星
日期:2016-02-11 06:20:00
7 [报告]
发表于 2010-01-23 17:31 |只看该作者
sed没有awk好理解。。。。

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
8 [报告]
发表于 2010-01-23 17:39 |只看该作者

  1. sed -n '1!G;h;$p' urfile
复制代码

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
9 [报告]
发表于 2010-01-23 17:43 |只看该作者

  1. awk '{if (NR>1) s=$0"\n"s;else s=$0}END{print s}' urfile
复制代码

  1. awk '{s=$0(NR>1?"\n"s:"")}END{print s}' urfile
复制代码

论坛徽章:
0
10 [报告]
发表于 2010-01-24 02:02 |只看该作者
#!/usr/bin/perl

use warnings;
use strict;

my $fh;
open $fh, "<", shift @ARGV;
my @line;
my $offset = 0;
seek $fh, $offset--, 2;
while(tell != 0){
    my $byte;
    sysread $fh, $byte, 1;
    if($byte eq "\n"){
        print @line;
        @line = ();
    }
    unshift @line, $byte;
    seek $fh, $offset--, 2;
}
print @line;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP