Search for a wave among several Igor Pro .pxp files
isend
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
July 10, 2021 at 03:25 pm - Permalink
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.
July 10, 2021 at 07:14 pm - Permalink
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
July 10, 2021 at 07:55 pm - Permalink
In reply to I opened pxp file in Hex… by ilavsky
Thank you! This command line works on my computer.
July 11, 2021 at 12:19 am - Permalink
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.
July 12, 2021 at 06:59 am - Permalink