Linux 中实现每行重复指定的次数

 

001、

[root@PC1 test]# ls
a.txt
[root@PC1 test]# cat a.txt            ## 测试文件
yy 33 gg
ss ff 11
zz mm dd
88 44 cc
[root@PC1 test]# awk 'NF' a.txt       ## 每行重复1次 
yy 33 gg
ss ff 11
zz mm dd
88 44 cc
[root@PC1 test]# awk 'NF;NF' a.txt    ## 重复2次
yy 33 gg
yy 33 gg
ss ff 11
ss ff 11
zz mm dd
zz mm dd
88 44 cc
88 44 cc
[root@PC1 test]# awk 'NF;NF;NF' a.txt  ## 3次, 以此类推
yy 33 gg
yy 33 gg
yy 33 gg
ss ff 11
ss ff 11
ss ff 11
zz mm dd
zz mm dd
zz mm dd
88 44 cc
88 44 cc
88 44 cc

 

002、

[root@PC1 test]# ls
a.txt
[root@PC1 test]# cat a.txt              ## 测试文件
yy 33 gg
ss ff 11
zz mm dd
88 44 cc
[root@PC1 test]# awk '1' a.txt          ## 一个非0数字
yy 33 gg
ss ff 11
zz mm dd
88 44 cc
[root@PC1 test]# awk '1;3' a.txt        ## 两个非零数字
yy 33 gg
yy 33 gg
ss ff 11
ss ff 11
zz mm dd
zz mm dd
88 44 cc
88 44 cc
[root@PC1 test]# awk '1;3;!0' a.txt     ## 三个非0数字
yy 33 gg
yy 33 gg
yy 33 gg
ss ff 11
ss ff 11
ss ff 11
zz mm dd
zz mm dd
zz mm dd
88 44 cc
88 44 cc
88 44 cc

 

003、

[root@PC1 test]# ls
a.txt
[root@PC1 test]# cat a.txt                  ## 测试文件
yy 33 gg
ss ff 11
zz mm dd
88 44 cc
[root@PC1 test]# awk '{for(i = 1; i <= 3; i++) {print $0}}' a.txt      ## 每行重复3次
yy 33 gg
yy 33 gg
yy 33 gg
ss ff 11
ss ff 11
ss ff 11
zz mm dd
zz mm dd
zz mm dd
88 44 cc
88 44 cc
88 44 cc
[root@PC1 test]# awk '{for(i = 1; i <= 2; i++) {print $0}}' a.txt      ## 每行重复2次
yy 33 gg
yy 33 gg
ss ff 11
ss ff 11
zz mm dd
zz mm dd
88 44 cc
88 44 cc

 。

 

posted @ 2024-02-10 12:07  小鲨鱼2018  阅读(25)  评论(0编辑  收藏  举报