Macos Command Line Search For Filename

storyyellow
6 min readJun 11, 2021

Download here

  1. Macos Command Line Search For Filename Free
  2. Macos Command Line Search For Filename Mac

Search a folder hierarchy for filename(s) that meet a desired criteria. Syntax find -H -L -P -EXdsx -f pathname pathname. expression Options -E Interpret regular expressions followed by -regex and -iregex options as extended (modern) regular expressions rather than basic regular expressions (BRE’s). If, for example, you knew that the file had bob somewhere in the file, you would type: dir.bob. /s. The above example uses wildcards (the asterisks ). Also, it uses the /s command switch to tell the dir command to search the current directory, and all its subdirectories. But the grep command is a time-saver when you’re trying to find what’s inside files. You can use grep easily from the command line to search for specific text, and you’ll get results in seconds.

Search a folder hierarchy for filename(s) that meet a desired criteria.

Primaries

All primaries which take a numeric argument allow the number to be preceded by a plus sign (`+’) or a minus sign (`-’). A preceding plus sign means `more than n’, a preceding minus sign means `less than n’ and neither means `exactly n’.

Macos Command Line Search For Filename Free

Operators

The primaries can be combined using the following operators. The operators are listed in order of decreasing precedence.

Bugs

Macos Command Line Search For Filename Mac

The special characters used by find are also special characters to many shell programs. In particular, the characters *, [, ], ?, (, ), !, and ; might have to be escaped from the shell.
As there is no delimiter separating options and file names or file names and the expression, it is difficult to specify files named -xdev or !. These problems are handled by the -f option and the getopt(3) — construct.
The -delete primary does not interact well with other options that cause the filesystem tree traversal options to be changed.

EXAMPLES
Print a list of all the files whose names do not end in .c.

$ find / ! -name ‘*.c’ -print

Print a list of all the files owned by user `wnj’ that are newer than the file ttt.

$ find / -newer ttt -user wnj -print

Print out a list of all the files which are not both newer than ttt and owned by `simon’.

$ find / ! ( -newer ttt -user simon ) -print

Print a list of all the files that are either owned by `simon’ or that are newer than ttt.

$ find / ( -newer ttt -or -user simon ) -print

Print out a list of all the files whose inode change time is more recent than the current time minus one minute:
$ find . -newerct ‘1 minute ago’ -print

List filenames ending in .mp3, searching in the current folder and all subfolders:
$ find . -name ‘*.mp3’

List filenames matching the name Alice or ALICE (case insensitive), search in the current folder (.) and all subfolders:
$ find . -iname ‘alice’ -print0

List filenames matching the name Alice or ALICE (case insensitive), search in the current folder (.) only:
$ find . -maxdepth 1 -iname ‘alice’ -print0

List filenames ending in .mp3, searching in the music folder and subfolders:
$ find ./music -name ‘*.mp3’

List files with the exact name: Sales_document.doc in ./work and subfolders:
$ find ./work -name Sales_document.doc

List all the file links:
$ find . -type l

List all files that belong to the user Maude:
$ find . -user Maude -print0

List all files (and subdirectories) in your home directory:
$ find $HOME

List all files in sub-directories (but not the directory names)
$ find . -type f

List all the directory and sub-directory names:
$ find . -type d

List all the empty directories:
$ find . -type d -empty

Delete all empty directories, this will recurse the tree:
$ find . -type d -empty -delete

Search for every .app file (application package) including those not in the applications folder:
$ sudo find / -iname *.app
Apple System Information will have more details: version, and where the app was obtained from.

Find files that are over a gigabyte in size:
$ find ~/Movies -size +1024M

Find files that are over 1 GB but less than 20 GB in size:
$ find ~/Movies -size +1024M -size -20480M -print0

Find all .DS_Store files in the current directory (.) and its subdirectories and DELETE them:
$ find . -name ‘*.DS_Store’ -type f -delete

Find all .gif files, pipe to xargs to get the size and then pipe into tail to display only the grand total:
$ find . -iname ‘*.gif’ -print0 | xargs -0 du -ch | tail -1

Find files have been modified within the last day:
$ find ~/Movies -mtime -1

Find files have been modified within the last 30 minutes:
$ find ~/Movies -mmin -30

Find .doc files that also start with ‘questionnaire’ (AND)
$ find . -name ‘*.doc’ -name questionnaire*

List all files beginning with ‘memo’ and owned by Maude (AND)
$ find . -name ‘memo*’ -user Maude

Find .doc files that do NOT start with ‘Accounts’ (NOT)
$ find . -name ‘*.doc’ ! -name Accounts*

Find files named ‘secrets’ in or below the directory /tmp and delete them. Note that this will work incorrectly if there are any filenames containing newlines, single or double quotes, or spaces:
$ find /tmp -name secrets -type f -print | xargs /bin/rm -f

Find files named ‘secrets’ in or below the directory /tmp and delete them, processing filenames in such a way that file or directory names containing single or double quotes, spaces or newlines are correctly handled. The -name test comes before the -type test in order to avoid having to call stat on every file.
$ find /tmp -name secrets -type f -print0 | xargs -0 /bin/rm -f

Run ‘myapp’ on every file in or below the current directory. Notice that the braces are enclosed in single quote marks to protect them from interpretation as shell script punctuation. The semicolon is similarly protected by the use of a backslash, though ‘;’ could have been used in that case also.

find . -type f -exec myapp ‘{}’ ;

Traverse the filesystem just once, listing setuid files and directories into /root/suid.txt and large files into /root/big.txt.

find / ( -perm -4000 -fprintf /root/suid.txt ‘%#m %u %pn’ ) ,
( -size +100M -fprintf /root/big.txt ‘%-10s %pn’ )

Search for files in your home directory which have been modified in the last twenty-four hours. This command works this way because the time since each file was last modified is divided by 24 hours and any remainder is discarded. That means that to match -mtime 0, a file will have to have a modification in the past which is less than 24 hours ago.

find $HOME -mtime 0

Search for files which have read and write permission for their owner, and group, but which other users can read but not write to (664). Files which meet these criteria but have other permissions bits set (for example if someone can execute the file) will not be matched.

find . -perm 664

Search for files which have read and write permission for their owner and group, and which other users can read, without regard to the presence of any extra permission bits (for example the executable bit). This will match a file which has mode 0777, for example.

find . -perm -664

Search for files which are writable by somebody (their owner, or their group, or anybody else).

find . -perm /222

“We all have different desires and needs, but if we don’t discover what we want from ourselves and what we stand for, we will live passively and unfulfilled” ~ Bill Watterson

Related macOS commands:

grep — Search file(s) for lines that match a given pattern.
ln — Make links between files (hard links, symbolic links).
ls — List information about file(s).
locate — Find files.
mdfind — Spotlight search.
rm — Remove files.
whereis — Locate a command.
which — Locate a program file in the user’s path.

Copyright © 1999–2020 SS64.com
Some rights reserved

Download here

--

--