如果 awk 中的行相同,则打印 space

Print space if the rows are the same in awk

如果我的行相同,我想打印 space 或点。

看例子:

输入:

row1 xx yy zz
row1 xx yy zz
row1 xx yy zz
row2 aa bb cc
row2 aa bb cc
row3 gg hh oo

输出:

row1 xx yy zz
     xx yy zz
     xx yy zz
row2 aa bb cc
     aa bb cc 
row3 gg hh oo

有什么简单的方法可以只打印 space 吗?

感谢您的帮助。

$ awk '{c=} c==p{gsub(/./," ",)} {p=c} 1' file
row1 xx yy zz
     xx yy zz
     xx yy zz
row2 aa bb cc
     aa bb cc
row3 gg hh oo