我有一个包含大约25000列和3,000行的文件。现在从第4列开始,我想删除第3-5列的第8列的间隔,直到结尾。
示例:
输入文件
c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20
d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20现在我要输出文件
c1 c2 c3 c4 c5 c9 c10 c11 c12 c13 c17 c18 c19 c20
d1 d2 d3 d4 d5 d9 d10 d11 d12 d13 d17 d18 d19 d20我希望我的问题不是一个混乱的问题。我知道如何定期打印,但不知道如何解决这个问题。
发布于 2014-06-25 20:20:47
最简单的方法可能是:
awk '{
printf "%s %s %s", $1, $2, $3
for (i=4; i<=NF; i++)
if ( ((i-3)%8) !~ /^[345]$/)
printf " %s", $i
print ""
}' file
c1 c2 c3 c4 c5 c9 c10 c11 c12 c13 c17 c18 c19 c20
d1 d2 d3 d4 d5 d9 d10 d11 d12 d13 d17 d18 d19 d20它可能需要调整的数学,但希望你得到了这个想法。
https://stackoverflow.com/questions/24417538
复制相似问题