Delete every other line in notepad++

前端 未结 6 2001
既然无缘
既然无缘 2020-12-12 15:05

Is there a way in Notepad++ to delete every other or nth line? I have a massive list of data and I need to reduce the size.

The data itself is not that important an

相关标签:
6条回答
  • 2020-12-12 15:18

    I came across this issue myself. What worked for me, also using the Find/Replace function, is to:

    1. Ctrl F and go to Replace
    2. In search mode, select "Extended (\n, \r, \t .. )"
    3. Find what: \n\n
    4. Replace with: \n
    5. Replace All
    0 讨论(0)
  • 2020-12-12 15:25

    I don't think there is a feature in Notepad++ that will automatically delete every other (or every nth) line, but if you wrote a short conversion program it would only take a few minutes.

    The pseudocode would look something like this:

    1. Create a StreamReader and StreamWriter (make sure you are not trying to read from
       and write to the same file)
    2. While (StreamReader is reading lines) increment i. You could mod it by whatever 
       number n you wanted in order to delete certain lines. Then have a conditional clause
       that would write out if i%n == 0 or whatever you specify.
    3. Close the program.
    

    That doesn't exactly answer your question, but I hope it helps.

    0 讨论(0)
  • 2020-12-12 15:28

    You can try to use a Macro.

    1. Start recording Macro
    2. Press down n-times
    3. Press Shift+End
    4. Press delete two times
    5. Stop recording Macro
    6. Run Macro until end of file
    0 讨论(0)
  • 2020-12-12 15:28

    I think you can do this with awk if you're on a unix style platform:

    awk 'NR % 2 == 0' file > outfile
    

    NR is the line number, so this will just say "if the line is divisible by 2 stick it in newfile."

    If you are on windows, I think the answer here would work:

    batch file to keep one of ten lines

    0 讨论(0)
  • 2020-12-12 15:36

    I'm not sure Notepad++ is the best tool for this, but using the Power of Regex, we should be able to do it.

    Open the replace menu, fill in ([^\n]*\n)[^\n]*\n in the "Find what" box and $1 in the "Replace with" box. Then select regular expression for the search mode, click replace all and every second line is deleted.

    You can build similar regexes if you want to do something similar. For example, (([^\n]*\n){a})[^\n]*\n will replace every nth line if you replace a by n - 1 and [^\n]*\n([^\n]*\n) will let you keep even lines instead of odd ones.

    0 讨论(0)
  • 2020-12-12 15:42

    Another way, you can use the command line cc.dl 5.5 of ConyEdit(a plugin) to delete the very fifth line of each group, five lines for each group.

    0 讨论(0)
提交回复
热议问题