sdccf 发表于 2008-04-22 13:26

solaris下文本行倒序输出的6种方法


作者: dvorss出自: http://www.linuxdiyf.com
在linux下,有个tac命令可将文本文件的文本行倒序排列输出,solaris下没有这种命令。
得到专家指点,有下列方法可用:
1. 命令方法:
nl filename | sort -nr | cut -f2
这个方法很unix风格,使用多命令组合完成某种功能是典型的unix特点。
2. AWK方法:
awk '{line=$0}END{for(i=NR;i>0;i--)print line}' filename
这个利用了AWK的数组功能。
3. PERL方法:
perl -e 'print reverse ' filename
除非你熟悉PERL。
4. SED方法
sed '1!G;h;$!d' filename
这个操作很经典,如果你能看懂这行命令中的sed函数的意义,那对sed就有基本的了解了。
5. VI方法
vi指令 :g/^/m0
这个方法没有想到,真是简便实用。
6. shell方法
#!/bin/bash
revread() {
local line
read line || return 0
revread
echo $line
}
revread

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31/showart_572577.html
页: [1]
查看完整版本: solaris下文本行倒序输出的6种方法