Monday, December 26, 2005

unix tip: find - limit the depth

by default find will search all subdirectories under the parent directory. but you can limit the depth by using maxdepth option.
eg:

- to limit it only to the current directory and not search through any subdirectories, use the -maxdepth 1 option.
$ find . -maxdepth 1 -name test
./test

- to search one level below of the directory use the -maxdepth 2 option.
$ find . -maxdepth 2 -name test
./scripts/test
./test
./tmp/test

- if not using -maxdepth option.
$ find . -name test
./scripts/test
./test
./tmp/test
./.snapshot/hourly.2/test
./.snapshot/hourly.2/tmp/test
./.snapshot/hourly.1/test
./.snapshot/hourly.1/tmp/test
./.snapshot/hourly.0/test
./.snapshot/hourly.0/tmp/test


Wednesday, December 21, 2005

unix tip: one-liner find files with different regex

instead of we type find a few times, we can use -o option.
eg:

$ find . -name "*ksh" -o -name "*txt"
./.mozilla/default/nxdv20h2.slt/cookies.txt
./scripts/sham.ksh
./scripts/java.txt
./scripts/ii.ksh
./scripts/aa.ksh
./scripts/input.txt
./scripts/output.txt
./scripts/test.ksh
./scripts/tiktok.ksh
./scripts/file.txt
./download/firefox-installer/license.txt
./sample.txt