我有一个专栏,我想重复多次。
例如,例如我想要以下列
1
2
3
4
5
重复n次变成
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
.
.
.
etc
这可能吗?
我有一个专栏,我想重复多次。
例如,例如我想要以下列
1
2
3
4
5
重复n次变成
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
.
.
.
etc
这可能吗?
awk -v n=7 '{s = s $1 ORS} END{for (i=1;i<=n;i++) printf "%s", s}' file
设置n
为您喜欢的任何数字。
或者,使用 GNU awk:
awk -v n=7 -v RS='\0' -v ORS= 'END{for (i=1;i<=n;i++) print}' file
将 3 替换为您要打印的列n
的任何值:$1
$ for i in {1..3}; do awk '{print $1}' file; done
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
你可以这样做,awk
但你必须将整个文件存储在内存中:
$ awk '{a[NR]=$1}END{for(i=1;i<=3;i++)for(j=1;j<=NR;j++)print a[j]}' file
这是使用 shell 构造的那些场合之一实际上是有意义的。