文本处理,求大神帮忙
本帖最后由 jimmy14k 于 2020-06-09 17:16 编辑{ "ent_id" : MinKey, "_id" : MinKey } -->> {
"ent_id" : NumberLong("1528943377121280900"),
"_id" : ObjectId("58104eba44ae018c2915531e")
} on : shard04 Timestamp(685, 0)
{
"ent_id" : NumberLong("1528943377121280900"),
"_id" : ObjectId("58104eba44ae018c2915531e")
} -->> {
"ent_id" : NumberLong("1549423145385985900"),
"_id" : ObjectId("581f2f6c44ae0a9b433a039c")
} on : shard04 Timestamp(331, 1)
{
"ent_id" : NumberLong("1549423145385985900"),
"_id" : ObjectId("581f2f6c44ae0a9b433a039c")
} -->> {
"ent_id" : NumberLong("1549423145385985900"),
"_id" : ObjectId("584b9f88e4b034d148035121")
} on : shard04 Timestamp(680, 0)
想要的结果:
MinKey,MinKey,NumberLong("1528943377121280900"),ObjectId("58104eba44ae018c2915531e"),shard04
NumberLong("1528943377121280900"),ObjectId("58104eba44ae018c2915531e"),NumberLong("1549423145385985900"),ObjectId("581f2f6c44ae0a9b433a039c"),shard04
NumberLong("1549423145385985900"), ObjectId("581f2f6c44ae0a9b433a039c"),NumberLong("1549423145385985900"),ObjectId("584b9f88e4b034d148035121"),shard04
最终得到三行数据,字段间逗号分隔,求大神帮忙......
awk -F '[,: ]+' 'BEGIN{RS="Timestamp"}{gsub(/\n/,",");a="";for(i=1;i<=NF;i++){if($i~/_id/){a=a?(a","$(i+1)):$(i+1)}}print a","$(NF-1)}' t.txt
勉强写了个,差不多可以满足 回复 1# jimmy14k
awk -F '[ {]+ "ent_id" : |[, ]+"_id" : |[ ]+} -->> {|[ ]+} on : |,$| +{
'{for(i=1;i<=NF;i++) {if($i) {if($0~/Timestamp/) {sub("Time.*","",$0);print $i""} else printf $i","}}}' file
MinKey,MinKey,NumberLong("1528943377121280900"),ObjectId("58104eba44ae018c2915531e"),shard04
NumberLong("1528943377121280900"),ObjectId("58104eba44ae018c2915531e"),NumberLong("1549423145385985900"),ObjectId("581f2f6c44ae0a9b433a039c"),shard04
NumberLong("1549423145385985900"),ObjectId("581f2f6c44ae0a9b433a039c"),NumberLong("1549423145385985900"),ObjectId("584b9f88e4b034d148035121"),shard04
回复 1# jimmy14k
awk -F '[ {]+ "ent_id" : |[, ]+"_id" : |[ ]+} -->> {|[ ]+} on : |,$| +{
'{for(i=1;i<=NF;i++) {if($i) {if($0~/Timestamp/) {sub("Time.*","",$0);print $i""} else printf $i","}}}' file
MinKey,MinKey,NumberLong("1528943377121280900"),ObjectId("58104eba44ae018c2915531e"),shard04
NumberLong("1528943377121280900"),ObjectId("58104eba44ae018c2915531e"),NumberLong("1549423145385985900"),ObjectId("581f2f6c44ae0a9b433a039c"),shard04
NumberLong("1549423145385985900"),ObjectId("581f2f6c44ae0a9b433a039c"),NumberLong("1549423145385985900"),ObjectId("584b9f88e4b034d148035121"),shard04
页:
[1]