Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I need to delete every 3rd and 5th line except the 15th line in a text file using sed. Has someone an idea?

share|improve this question
    
Is this an interview question? :) –  Richard Holloway Feb 14 '12 at 20:35

2 Answers 2

Try next command. You will need the GNU version of sed:

sed '15 b ; 0~3 d ; 0~5 d' infile

First check if line is 15th: print and read next one. Otherwise, delete every 3rd line and every 5th line starting with first one.

share|improve this answer

It's much easy if you use awk:

$ awk '(NR%3 && NR%5) || NR==15' input.txt
share|improve this answer
    
I think it should be (NR!=15), OQ said except 15th, not except every 15th. –  Rich Homolka Feb 14 '12 at 16:01
    
@RichHomolka Thanks. Fixed –  kev Feb 14 '12 at 16:04

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.