Yesterday at work, I had a situation where I had the following text (thousands of lines, though):

[local]ac1-chi#show card 3 nat trans cont 0x4008001c sour any | grep op -c NAPT 0 [local]ac1-chi#show card 3 nat trans cont 0x4008002c sour any | grep op -c NAPT 0 [local]ac1-chi#show card 3 nat trans cont 0x4008003c sour any | grep op -c NAPT 0 [local]ac1-chi#show card 3 nat trans cont 0x4008004c sour any | grep op -c NAPT 4587 [local]ac1-chi#show card 3 nat trans cont 0x4008005c sour any | grep op -c NAPT 0 [local]ac1-chi#show card 3 nat trans cont 0x4008005c sour any | grep op -c NAPT 0 [local]ac1-chi#show card 3 nat trans cont 0x4008006c sour any | grep op -c NAPT 0 [local]ac1-chi#show card 3 nat trans cont 0x4008006c sour any | grep op -c NAPT 0 [local]ac1-chi#show card 3 nat trans cont 0x4008007c sour any | grep op -c NAPT 0 [local]ac1-chi#show card 3 nat trans cont 0x4008008c sour any | grep op -c NAPT 0 [local]ac1-chi#show card 3 nat trans cont 0x4008009c sour any | grep op -c NAPT 0 [local]ac1-chi#show card 3 nat trans cont 0x4008000c sour any | grep op -c NAPT 0

So, what's the shortest key sequence that removes all the 0 results and the command that generated the 0 result? The closest I got is:

:g/^0/-1,.d

Now what about the hex address? What's the best golf for swapping the last two characters?