Is there a way to filter the command history in Windows using cmder?
In Linux I can doing something like history | grep abc and that will only bring up the commands that start with 'abc'. With Windows in cmder, I can bring up the history of commands with the history command, but I can't find a way to filter it down by the first few letters of the command. There seems to be no equivalent of | and grep.
2 Answers
cat %CMDER_ROOT%\config\.history | grep abcIn Cmder::Cmder sessions history is a doskey macro. The output of a macro cannot be passed using the pipe | but you could use the command that is the content of the doskey macro.
Referenced:
The rough analog of grep in Windows is find and findstr. So just run history | find "abc" or history | findstr abc
The difference between them is that:
findsupports Unicode (UTF-16) but doesn't support regex, andfindstrsupports regex but not Unicodefindrequires quotes around the search string butfindstrdoesn't
Why are there both FIND and FINDSTR programs, with unrelated feature sets?
In PowerShell there'll be a better solution: Select-String. It supports everything in find and findstr plus much more. And it doesn't have line length limitation