in reply to Re^5: uparse - Parse Unicode strings
in thread uparse - Parse Unicode strings

$ locate /.DS_Store

and then again (because it's cheap) to clear the files:

$ locate /.DS_Store | xargs rm

find can do the same, without needing a possibly outdated database:

find / -name .DS_Store -type f

(-print is implicit, -type f restricts to regular files)

And then, to avoid various traps with "funny" path names, pass found path names around ASCII-NUL separated:

find / -name .DS_Store -type f -print0 | xargs -0 rm

Or invoke rm directly from find:

find / -name .DS_Store -type f -exec rm \;

(Backslash or quotes around the semicolon are needed in bash)

The same, but be smarter (like xargs, collect arguments instead of invoking rm for every single file):

find / -name .DS_Store -type f -exec rm {} \+

(Again, backslash or quotes around the plus are needed in bash)

Or have find delete the file without forking a separate process:

find / -name .DS_Store -type f -delete

Optionally show what is deleted while deleting:

find / -name .DS_Store -type f -print -delete

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

Replies are listed 'Best First'.
Re^7: uparse - Parse Unicode strings
by Tux (Canon) on Dec 02, 2023 at 14:52 UTC

    find / -name .DS_Store -type f takes a whopping 15 minutes on my development system with mounted NAS and spams me with thousands of lines of "permission denied" lines.

    locate -r '/\.DS_store$' takes just 0.4 seconds and no error messages.

    The saved locations for locate can be cusomized (I do not want cache file in there) and should be `cron`ed to keep up to date. sudo updatedb takes a few seconds when the database is not too old.

    Same goes for find: When looking for a recent config file, I don't want it to browse my holiday pictures, the whole 6 Tb of mountes NAS storage, or old CD collection. I also use find: it is invaluable, but to find recent files quick, locate is my tool of choice.


    Enjoy, Have FUN! H.Merijn