我有一个专栏,我想多次重复。
例如 例如,我想要以下列
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
这可能吗?
答案 0 :(得分:2)
将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构造实际上有意义的场合之一。
答案 1 :(得分:2)
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