Daniel Fetchinson writes: > This question is really about sed not python, hence it's totally > off. But since lots of unix heads are frequenting this list I > thought I'd try my luck nevertheless. ... > using python. The pattern is that the first line is deleted, then 2 > lines are kept, 3 lines are deleted, 2 lines are kept, 3 lines are > deleted, etc, etc. > > But I couldn't find a way to do this with sed and since the whole > operation is currently done with a bash script I'd hate to move to > python just to do this simple task. > > What would be the sed equivalent?
The following appears to work here. Both parts of the address are documented as GNU extensions in the man page: 2~5 matches line 2 and then every 5th line, and ,+1 tells sed to match also the 1 line after each match. With -n, do not print by default, and p is the command to print when an address matches. sed -n '2~5,+1 p' Tried with GNU sed version 4.1.2, never used sed this way before. So, is there some simple expression in Python for this? Just asking out of curiosity when nothing comes to mind, not implying that there should be or that Python should be changed in any way. -- http://mail.python.org/mailman/listinfo/python-list