Community
    • Login

    How to delete lines without String

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    filterregexmacros
    4 Posts 2 Posters 1.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Sammy BreselS
      Sammy Bresel
      last edited by

      Hello community,

      I have various logfiles which I want to filter with a grep-like functionality.

      The way I did it before is:

      • Mark the word / string

      • Search/Mark

      • enable option “Bookmark line”
        – mark all
        – close

      • Search/Bookmark

      • “Remove Unmarked lines”

      For this procedure I recorded a macro and stored it in shortcuts.xml:

      <Macros>
      <Macro name=“Trim Trailing and save” Ctrl=“no” Alt=“yes” Shift=“yes” Key=“83”>
      <Action type=“2” message=“0” wParam=“42024” lParam=“0” sParam=“” />
      <Action type=“2” message=“0” wParam=“41006” lParam=“0” sParam=“” />
      </Macro>
      <Macro name=“grep01” Ctrl=“no” Alt=“no” Shift=“no” Key=“0”>
      <Action type=“3” message=“1700” wParam=“0” lParam=“0” sParam=“” />
      <Action type=“3” message=“1601” wParam=“0” lParam=“0” sParam=“IM1 001” />
      <Action type=“3” message=“1625” wParam=“0” lParam=“0” sParam=“” />
      <Action type=“3” message=“1702” wParam=“0” lParam=“784” sParam=“” />
      <Action type=“3” message=“1701” wParam=“0” lParam=“1615” sParam=“” />
      <Action type=“2” message=“0” wParam=“43051” lParam=“0” sParam=“” />
      </Macro>

      Is it possible to replace the string “IM1 001” with a wildcard, or the actual marked text and then just press a combination to do the job?

      p.s. How do i format code snippets here?

      1 Reply Last reply Reply Quote 1
      • Alan KilbornA
        Alan Kilborn
        last edited by

        @Sammy-Bresel said:

        Is it possible to replace the string “IM1 001” with a wildcard, or the actual marked text?

        Unfortunately not. Searches recorded as macros always have all of their parameters hard-wired. It would be awesome to be able to embed a special string in the findwhat and replacewith boxes such that when the macro is run a popup box would prompt for a bit of text to embed within a larger regex, but no such luck. Such a mechanism could also be used to get clipboard data to embed.

        However, some options are available to you, that are, admittedly, a bit more complex. And by this I mean “scripting”. It is fairly easy to script a custom, promptable search or replace option. One downside of this is that it can’t (easily) use the findresult panel to show the fruits of that labor.

        Although, thinking about it now, a script could open the find window, populate all of the UI elements, and then push one of the find window buttons that causes findresult panel to be populated. Scripting is (almost) all powerful. :)

        How do i format code snippets here?

        There’s a few ways. Easiest to explain and understand is to indent your code (all of it) with 4 leading spaces. Then it will appear in a black box (and be UNTOUCHED by this website) like so:

        <Macros>
        <Macro name=“Trim Trailing and save” Ctrl=“no” Alt=“yes” Shift=“yes” Key=“83”>
        <Action type=“2” message=“0” wParam=“42024” lParam=“0” sParam="" />
        <Action type=“2” message=“0” wParam=“41006” lParam=“0” sParam="" />
        </Macro>
        
        1 Reply Last reply Reply Quote 2
        • Sammy BreselS
          Sammy Bresel
          last edited by

          Thank you, i will consider a script then.

          Alan KilbornA 1 Reply Last reply Reply Quote 0
          • Alan KilbornA
            Alan Kilborn @Sammy Bresel
            last edited by

            @Sammy-Bresel

            Since you are “script willing”, I might suggest Pythonscript (which is super if you already know Python) and a script to get you going with search/replace that could be adapted to what you want might be found here: https://notepad-plus-plus.org/community/topic/16942/pythonscript-any-ready-pyscript-to-replace-one-huge-set-of-regex-phrases-with-others/

            1 Reply Last reply Reply Quote 2
            • First post
              Last post
            The Community of users of the Notepad++ text editor.
            Powered by NodeBB | Contributors