This probably only satisfies points 3 and 4 but read on if you're interested.
The IBM ISPF editor probably has an unparalleled ability to visually edit files - filtering lines included of course.
I still use it when other Windows editors can't cut it or I'm too lazy to code or script something.
For files I regularly change, I also keep edit macros (scripts really - sequences of commands etc.) to run against uploaded files.
This is a free Windows implementation of ISPF.http://www.spflite.com/
Here's a very small example of the kind of things you can do from the editing interface.
If not enough, you also have the ability to write macros (scripts) using thinbasic code.
x all (exclude all lines)
f Timbuktoo all (find and show all lines with that string - use C'Timbuktu' if case sensitive)
c buktoo buktu all nx (change buktoo to buktu on all non-excluded lines)
c buktoo buktu all x (make the change on excluded lines - lines containing Timbuktoo are not
affected as they are not excluded)
reset (show all lines)
c buktu buktoo 100 200 (make this change only between lines 100 and 200)
c buktu buktoo .a .b (make this change between the lines you've labeled as .a and .b)
This is really just a small subset - the full change command documented here. http://www.spflite.com/HtmlS/CHANGE.html
Besides the change command, there are many other ways to edit a file - much more here.http://www.spflite.c...m/HtmlS/Working.html
e.g. Regular Expressionshttp://www.spflite.c...S/RegExLiterals.html
Or picture stringshttp://www.spflite.c...PictureLiterals.html
A learning curve for sure and probably a little quirky if you're not used to using commands to change data.
Well, not that strange I guess if you use an editor with a pseudo command line (vi/emacs etc.)