给定一个文件,我遇到以下问题
val1 val2 text_0
val1 val2 text_0
val1 val2 text_0
...
val1 val2 text_1
val1 val2 text_1
val1 val2 text_1
...
val1 val2 text_2
val1 val2 text_2
val1 val2 text_2
...
我需要在每一text_
列上附加一个自动增量,以便每个新标记的自动增量从 0 开始,例如
val1 val2 text_0_0
val1 val2 text_0_1
val1 val2 text_0_2
...
val1 val2 text_1_0
val1 val2 text_1_1
val1 val2 text_1_2
...
我不熟悉 AWK,我找不到方法来做到这一点。
答案1
短的awk方法:
awk '{ $3=$3"_"a[$3]++ }1' file
近似输出:
val1 val2 text_0_0
val1 val2 text_0_1
val1 val2 text_0_2
...
val1 val2 text_1_0
val1 val2 text_1_1
val1 val2 text_1_2
...
val1 val2 text_2_0
val1 val2 text_2_1
val1 val2 text_2_2
a[$3]++
<var>++
- 通过后自增 ( )计算第三个字段值的出现