Search for a wave among several Igor Pro .pxp files

I am using Igor Pro on macOS. I have a folder that contains several Igor Pro .pxp files, and one of it has a wave named "pp_3_6", but I don't know which .pxp file has this wave. Besides opening each .pxp file to search for the wave in Data Browser, is there a more efficient way to search for "pp_3_6" among all these .pxp files? Thank you.

(Search for "pp_3_6" in Finder of macOS does not seem to work.)

Hi,

I don't think so going backwards, but going forwards you could save the experiments as unpacked experiments and then the individual waves are saved as separate files and searchable through finder.  You might be able to script a finder action to open and resave as an unpacked experiment and then let it rip across all your packed experiments.

Andy

I think the wave names are saved as plain text inside the .pxp files among the binary data. So an approach could be to search the name inside the file contents. I don't know how well this works on Mac, though. I have seen this may work with the 'content:' prefix, so searching all files with content:pp_3_6 may do the trick. 

I opened pxp file in Hex Fiend and was able to find in ASCII name of wave in that Igor experiment. 

So I opened command line and simply used grep name_of_wave *.pxp and I got match:

Binary file myFile.pxp matches

 

One trick you might not know about is that if you hold down the Alt (Win)/Option (Mac) key and click the Browse Expt... button in the Data Browser, you can select a folder on disk instead of an Igor Experiment. You'll then see the hierarchy of that folder in the Browse Experiment pane of the data browser. If that folder contains multiple Igor experiments, you'll see a folder for each of the experiments and you can look into the contents of the different experiments that way.

Unfortunately the search feature of the Data Browser works only for the experiment you have open, not the experiment being browsed.

Another option would be for you to write a relatively simple function that iterates through the experiments in a folder and calls LoadData with the /J flag. If that is successful, then you've found the experiment that contains your wave.