Delete md5 using notepad
-
Hi
I have a long document. Using notepad++ or regex, I want to delete all lines containing md5
bcf5ce4c7e7718060fe3c921d96fefcc:37:ms
192.168.0.1:37:ms:N/A
102ddaf691e1615d5dacd4c86299bfa4:Dead:N/S
perl:pe:out
192.168.0.55:Dead:N/S
sed@@:PATH:file
8371aba8782aead078fa35475c076f68:67:msHow can this be done?
someone who can help me, please? -
Try this:
Invoke Replace dialog (default key: ctrl+h)
Find what zone:
^[a-f0-9]{32}(?-s):.*\R
Replace with zone: make sure this is empty
Search mode selection: Regular expression
Action: Press Replace All buttonHere’s how it works:
^[a-f0-9]{32}(?-s):.*\R
- [Assert position at the beginning of a line (at beginning of the string or after a line break character) (carriage return and line feed, form feed)][1 ]
^
- [Match a single character present in the list below][2 ]
[a-f0-9]{32}
- [Exactly 32 times][3 ]
{32}
- [A character in the range between “a” and “f” (case sensitive)][2 ]
a-f
- [A character in the range between “0” and “9”][2 ]
0-9
- [Exactly 32 times][3 ]
- [Use these options for the remainder of the regular expression][4 ]
(?-s)
- [(hyphen inverts the meaning of the letters that follow)][4 ]
-
- [Dot doesn’t match line breaks][4 ]
s
- [(hyphen inverts the meaning of the letters that follow)][4 ]
- [Match the colon character][5 ]
:
- [Match any single character that is NOT a line break character (line feed, carriage return, form feed)][6 ]
.*
- [Between zero and unlimited times, as many times as possible, giving back as needed (greedy)][7 ]
*
- [Between zero and unlimited times, as many times as possible, giving back as needed (greedy)][7 ]
- [Match a line break (carriage return and line feed pair, sole line feed, sole carriage return, vertical tab, form feed)][8 ]
\R
Created with RegexBuddy
[1 ]: https://www.regular-expressions.info/anchors.html
[2 ]: https://www.regular-expressions.info/charclass.html
[3 ]: https://www.regular-expressions.info/repeat.html#limit
[4 ]: https://www.regular-expressions.info/modifiers.html
[5 ]: https://www.regular-expressions.info/characters.html
[6 ]: https://www.regular-expressions.info/dot.html
[7 ]: https://www.regular-expressions.info/repeat.html
[8 ]: https://www.regular-expressions.info/nonprint.htmlRegexBuddy settings to emulate N++ regex engine: Application=boost::regex 1.54-1.57 / flavor=Default flavor / replacement flavor=All flavor / ^$ match at line breaks / Numbered capture / Allow zero-length matches
- [Assert position at the beginning of a line (at beginning of the string or after a line break character) (carriage return and line feed, form feed)][1 ]
-
@rovitie said:
regex
thanks you very much, sorry friend, but in some lines:
ftp: a10a057d9aaea35231ca57d8959cc182
test: 53c80014d7714fd6050257050fe4bb7e
ftp: 887a100f39384fdb3d950ba1b55acba2: router
12.0.84.130:197cd7b2019b0d7b867012bca81e1b81:ms
the regex does not work
I hope you help me, thanks you -
<@cipher-1024 cooks popcorn and prepares for @Scott-Sumner to respond to the “new” information.>
@rovitie, read up on regular expressions when you have time they’re a great tool to have. Also when you post examples, try and post different kinds. Posting some examples of what you tried and how it failed is good too. It shows you’re putting in some effort.
Personally I would try
^.*?[a-f0-9]{32}.*?$\R
That’s a bit like using a great big hammer (I do love the .* metacharacter combo!), where Scott’s was more like a scalpel, but this may work for you.Good Luck!
-
The moral of the (sad) story is that if you don’t post representative data when you ask for help…or data that shows a pattern but (a) not the right pattern or (b) a misleading pattern…don’t be surprised if the help you receive does not solve your problem. @cipher-1024 has the best answer for you, paraphrasing: “read up on regex and solve your own problem”.
-
Hi, @rovitie, @scott-sumner, @cipher-1024 and All,
Two other solutions :
-
Search > Replace...
option -
SEARCH
(?-s)^.*[[:xdigit:]]{32}.*\R
-
REPLACE
Leave EMPTY
OR
-
Search > Mark...
option -
Tick the
Bookmark line
option -
SEARCH
[[:xdigit:]]{32}
-
Search > Bookmark > Remove Bookmark Lines
Cheers,
guy038
-
-
So sad that nothing was said about getting the problem statement right in the first place… :(
I guess I don’t understand the utility of
[:xdigit:]
here when (a) it is tough to remember, and (b)[a-f0-9]
is shorter. Is “xdigit” supposed to be faster for the regex engine to process? Okay, so I’m ignoring case here, but the OP’s examples were all in lowercase–but maybe we can’t trust the OP… :-) -
Hi @scott-sumner, and All,
I was a bit lazy to develop any idea, in that topic, as, since beginning of day, I was doing tests relative to the problem of the
Word wrap
feature, with very large files, discussed here :https://notepad-plus-plus.org/community/topic/16468/notepad-7-5-9-release/54
Now, Scott, regarding our problem, I did some tests ( again! )
I created a
.txt
file, containing100,000
MD5 strings and here are the results :-
SEARCH
(?i-s)^.*[0-9A-Z]{32}.*\R
REPLACELeave Empty
=>100,000
lines deleted in45
seconds -
SEARCH
(?-s)^.*[[:xdigit:]]{32}.*\R
REPLACELeave Empty
=>100,000
lines deleted in39
seconds -
BOOKMARK
[[:xdigit:]]{32}
+Remove Bookmarked Lines
=>100,000
lines deleted in32
seconds ( 7s + 25s )
Interesting, isn’t it ?
This means that :
-
With a very large files and/or with numerous zones to delete, the combination of the Marking String and the Delete Bookmarked features is the best choice ;-))
-
The
[[:xdigit:]]
regex syntax seems a bit faster than the(?i)[0-9A-Z]
syntax
Best Regards,
guy038
-
-
A thousand apologies, I am not an expert in programming, a simple assistant of a company, excuse me Mr. Scott Sumner and cipher-1024, thanks for the help shown.
guy038, the regex helped me a lot [[: xdigit:]] {32}, thank you very much -
Certainly no apology of any kind needed. It is tough to know what you don’t know. Good that it is working for you. I guess I was a bit harsh so I certainly apologize for that. Of course, I’m probably known for being somewhat harsh. ;-)