in reply to Re^4: uparse - Parse Unicode strings (locate/find/xargs)
in thread uparse - Parse Unicode strings
locate (aka mlocate, aka slocate) is a lifesaver. I used it a couple of days ago (admittedly not on a dev box) to solve a very simple problem. Some user of a client's server had been uploading files to a website from a Mac and had managed to litter the filesystem with .DS_Store files. This is a BIG filesystem we're talking about and they were not just using a small fraction of it. My task was to clean up this mess. I could have constructed a find command but coupling that with rm is always dicey especially on a production box, so the slow user would run the find twice, once to check and another to delete. The faster user would run the find once and store the output in a file, eyeball the file and then use xargs from the file to do the deletion.
The fastest user employs locate instead of find. It produced the output in under a second without hammering the disks and I was able to run it once to check the pattern:
$ locate /.DS_Store
and then again (because it's cheap) to clear the files:
$ locate /.DS_Store | xargs rm
Having eyeballed the output from the first command I could see that only the requisite files were matched and none of the paths had spaces or anything else that might trip up the pipeline.
Using it locally on my dev box is equally useful. We may have variously patched versions of code kicking around in several locations and these might require updates. Trivial to search with locate and more flexible than find because the -r option allows for regex-based matching which is so much simpler than trying to wrestle globs for complex patterns.
Occasionally I have to admin servers where the person who set them up hasn't installed locate and it doesn't take long before I'm swearing at them, installing it and running updatedb just so I can get on with my work. It's an invaluable tool and if it isn't present/available on MSWin32 then that's (yet another) black mark against that particular OS.
🦛
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^6: uparse - Parse Unicode strings
by afoken (Chancellor) on Dec 02, 2023 at 12:50 UTC | |
by Tux (Canon) on Dec 02, 2023 at 14:52 UTC |