snakile
snakile

Reputation: 54521

How do I search through MATLAB command history?

I would like to search for a specific command I've previously used. Is it possible to do a free text search on MATLAB command history?

Upvotes: 22

Views: 11973

Answers (2)

gnovice
gnovice

Reputation: 125864

If you want to accomplish this in a programmatic and platform-independent manner, you can first use MATLAB's Java internals to get the command history as a character array:

history = com.mathworks.mlservices.MLCommandHistoryServices.getSessionHistory;
historyText = char(history);

Then you can search through the character array however you like, using functions like STRFIND or REGEXP. You can also turn the character array into a cell array of strings (one line per cell) with the function CELLSTR, since they can sometimes be easier to work with.

Upvotes: 7

nibot
nibot

Reputation: 14928

Yes. Matlab stores your command history in a file called history.m in the "preferences folder," a directory containing preferences, history, and layout files. You can find the preferences folder using the prefdir command:

>> prefdir

ans =

/home/tobin/.matlab/R2010a

Then search the history.m file in that directory using the mechanism of your choice. For instance, using grep on unix:

>> chdir(prefdir)
>> !grep plot history.m
plot(f, abs(tf))
doc biplot
!grep plot history.m

You can also simply use the search function in the command history window if you just want to use the GUI.

Upvotes: 25

Related Questions