Linux Shell编程实战---以逆序形式打印行
2017-09-08 14:33
197 查看
以逆序形式打印行使用awk或tac可以搞定。tac这个命令的名称其实就是反过来书写的cat。
(1)、使用tac该命令的语法如下:
tac file1file2 …它也可以从stdin中读取:
$ seq 5 |tac54321在tac中,\n是默认的行分隔符。但我们也可以用 -s "分隔符"选项指定自己的分隔符。(2)、使用awk使用awk的实现方式如下:
$ seq 9 |\awk '{lifo[NR]=$0 }END{for(lno=NR;lno>-1;lno--){ print lifo[lno]; }}'在shell脚本中,\ 可以很方便地将单行命令拆解成多行。
这个awk脚本非常简单。我们将每一行都存入一个关联数组中,用行号作为数组索引(行号由NR给出),最后由awk执行END语句块。为了得到最后一行的行号,在{ }语句块中使用lno=NR。因此,这个脚本从最后一行一直迭代到第0行,将存储在数组中的各行以逆序方式打印出来。
(1)、使用tac该命令的语法如下:
tac file1file2 …它也可以从stdin中读取:
$ seq 5 |tac54321在tac中,\n是默认的行分隔符。但我们也可以用 -s "分隔符"选项指定自己的分隔符。(2)、使用awk使用awk的实现方式如下:
$ seq 9 |\awk '{lifo[NR]=$0 }END{for(lno=NR;lno>-1;lno--){ print lifo[lno]; }}'在shell脚本中,\ 可以很方便地将单行命令拆解成多行。
这个awk脚本非常简单。我们将每一行都存入一个关联数组中,用行号作为数组索引(行号由NR给出),最后由awk执行END语句块。为了得到最后一行的行号,在{ }语句块中使用lno=NR。因此,这个脚本从最后一行一直迭代到第0行,将存储在数组中的各行以逆序方式打印出来。
相关文章推荐
- Linux C/C++编程一站式学习--以可视化的形式打印直方图
- Linux Shell编程进阶案例实战(三)
- Linux Shell编程实战---统计特定文件中单词的词频
- Linux Shell 编程实战技巧
- Linux Shell 编程实战技巧
- Linux Shell编程实战---Shell中的文本切片技术
- Linux Shell 编程实战技巧
- Linux Shell 编程实战技巧
- HTML5编程实战之二:用动画的形式切换图片
- Linux Shell 编程实战技巧
- Linux Shell编程实战---计算特定目录下前10个大文件
- Linux Shell编程实战---shell实现图片下载神器
- Linux Shell编程实战---使用shell实现钉钉告警
- Linux Shell 编程实战技巧
- Linux Shell 编程实战技巧
- Linux Shell 编程实战技巧
- Linux Shell 编程实战技巧
- shell技巧之以逆序形式打印行
- Linux Shell 编程实战技巧
- 老男孩教育Linux Shell高级编程实战视频教程完整14部分