shell技巧之以逆序形式打印行
測試文本內(nèi)容如下:
# cat textfile
hadoop hdfs yarn spark zookeeper
mapreduce hive hbase scala kafka
CHAVIN mysql PostgreSQL mongodb
192.168.100.231 192.168.100.232
192.168.10.23
CHAVIN mysql linux hadoop spark hive
mysql CHAVIN hadoop linux spark hbase
mysql mysql mysql mysql mysql mysql
?
現(xiàn)在以逆序形式顯示上面文本:
# tac textfile
mysql mysql mysql mysql mysql mysql
mysql CHAVIN hadoop linux spark hbase
CHAVIN mysql linux hadoop spark hive
192.168.10.23
192.168.100.231 192.168.100.232
CHAVIN mysql PostgreSQL mongodb
mapreduce hive hbase scala kafka
hadoop hdfs yarn spark zookeeper
?
總結(jié):這里使用tac逆序打印行,細心的人能注意到:tac就是反過來的cat命令。tac默認的行分界符是\n,我們可以通過參數(shù)-s “分解符”指定行分界符。
?
這個功能也可以通過awk實現(xiàn):
# awk '{ lifo[NR]=$0 }END{ for(lno=NR;lno>0;lno--){print lifo[lno]}}' textfile
?
如果將行逆序,同時將行字段逆序方法如下:
#awk '{ lifo[NR]=$0 }END{ for(lno=NR;lno>0;lno--){print lifo[lno]}}' textfile | awk '{ for(i=NF;i>0;i--){if(i==1){print $i}else{printf $i","}fi}}'
轉(zhuǎn)載于:https://www.cnblogs.com/wcwen1990/p/7028141.html
總結(jié)
以上是生活随笔為你收集整理的shell技巧之以逆序形式打印行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: idea 学习
- 下一篇: html下纯JS实现图片压缩、预览、图片