solaris下文本行倒序输出的6种方法
在llinux下,有个tac命令可将文本文件的文本行倒序排列输出,solaris下没有这种命令。一时想不出方法,上了CU一问,得到专家指点,有下列方法可用:
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/u2/62001/showart_488769.html
页:
[1]