Simple Sand Samples |
説明のないとってもシンプルなサンプルプログラム集
COBOL | awk | C言語 | D言語 | GO言語 | Lua | Vim |
bash | Perl | Gauche | Clojure | CLISP | EmacsLisp | VimScript |
tcsh | Ruby | Groovy | Java | C# | VBScript | JavaScript |
Io言語 | Python | Erlang | Scala | VB.NET | Excel/VBA | PHP |
Tcl | Haskell | OCaml | PowerShell | Windows | Unix/Linux |
Linuxコマンド > find ファイル検索
|
|
~/tmp$ ls -l
total 8
drwxr-xr-x 3 user user 120 May 1 16:52 dir1
lrwxrwxrwx 1 user user 4 May 1 17:05 dir3 -> dir1
-rw-r--r-- 1 user user 46 Apr 4 2004 file1
-rw-r--r-- 1 user user 42 Mar 3 2003 file2
.
./dir1
./dir1/dir2
./dir1/dir2/file21
./dir1/file11
./dir1/file12
./dir3
./file1
./file2
./dir1/dir2/file21
./dir1/file11
./dir1/file12
./file1
./file2
.
./dir1
./dir1/dir2
.
./dir1
./dir1/dir2
./dir3
./dir3/dir2
-rw-r--r-- 1 user user 0 Apr 7 11:03 ./dir1/dir2/file21
-rw-r--r-- 1 user user 1024 Dec 12 2012 ./dir1/file11
-rw-r--r-- 1 user user 256 Feb 2 2002 ./dir1/file12
-rw-r--r-- 1 user user 46 Apr 4 2004 ./file1
-rw-r--r-- 1 user user 42 Mar 3 2003 ./file2
./dir1/dir2/file21
./dir1/dir2/file21
./dir1/file11
./file1
~/tmp$
./dir1/file11
./dir1/file11
~/tmp$ find -type f -size +1024c
~/tmp$
./dir1/dir2/file21
./dir1/file12
./file1
./file2
.
dir1
dir2
file21
file11
file12
dir3
file1
file2
. 05/01 17:05 .
dir1 05/01 16:53 ./dir1
dir2 05/01 10:56 ./dir1/dir2
file21 04/20 20:20 ./dir1/dir2/file21
file11 12/12 12:00 ./dir1/file11
file12 02/02 02:00 ./dir1/file12
dir3 05/01 17:05 ./dir3
file1 04/04 10:20 ./file1
file2 03/03 12:20 ./file2
~/tmp$ find -type f -amin -1
./file4
./file4
~/tmp$ ls file4
ls: cannot access file4: No such file or directory
total 8
drwxr-xr-x 3 user user 120 May 1 16:52 dir1
lrwxrwxrwx 1 user user 4 May 1 17:05 dir3 -> dir1
-rw-r--r-- 1 user user 46 Apr 4 2004 file1
-rw-r--r-- 1 user user 42 Mar 3 2003 file2
カレントディレクトリ配下のファイル、ディレクトリ全抽出
~/tmp$ find.
./dir1
./dir1/dir2
./dir1/dir2/file21
./dir1/file11
./dir1/file12
./dir3
./file1
./file2
ファイルを抽出
~/tmp$ find -type f./dir1/dir2/file21
./dir1/file11
./dir1/file12
./file1
./file2
ディレクトリを抽出
~/tmp$ find -type d.
./dir1
./dir1/dir2
ディレクトリを抽出(シンボリックリンク含)
~/tmp$ find -L -type d.
./dir1
./dir1/dir2
./dir3
./dir3/dir2
ファイルの詳細を一覧表示
~/tmp$ find -type f | xargs ls -l-rw-r--r-- 1 user user 0 Apr 7 11:03 ./dir1/dir2/file21
-rw-r--r-- 1 user user 1024 Dec 12 2012 ./dir1/file11
-rw-r--r-- 1 user user 256 Feb 2 2002 ./dir1/file12
-rw-r--r-- 1 user user 46 Apr 4 2004 ./file1
-rw-r--r-- 1 user user 42 Mar 3 2003 ./file2
空のファイルを抽出
~/tmp$ find -empty./dir1/dir2/file21
指定したファイルより新しいファイルを検索
~/tmp$ find -type f -newer file2./dir1/dir2/file21
./dir1/file11
./file1
~/tmp$
指定したサイズのファイルを検索
~/tmp$ find -type f -size 1024c./dir1/file11
指定したサイズより大きいファイルを検索
~/tmp$ find -type f -size +1023c./dir1/file11
~/tmp$ find -type f -size +1024c
~/tmp$
指定したサイズより小さいファイルを検索
~/tmp$ find -type f -size -512c./dir1/dir2/file21
./dir1/file12
./file1
./file2
パスを除いたファイル/ディレクトリ名のみ一覧表示
~/tmp$ find -printf "%f\n".
dir1
dir2
file21
file11
file12
dir3
file1
file2
検索結果を書式付き表示
~/tmp$ find -printf "%f\t%Am/%Ad %AH:%AM\t%p\n". 05/01 17:05 .
dir1 05/01 16:53 ./dir1
dir2 05/01 10:56 ./dir1/dir2
file21 04/20 20:20 ./dir1/dir2/file21
file11 12/12 12:00 ./dir1/file11
file12 02/02 02:00 ./dir1/file12
dir3 05/01 17:05 ./dir3
file1 04/04 10:20 ./file1
file2 03/03 12:20 ./file2
指定時間内(1分以内)にアクセスのあったファイルのみ表示
~/tmp$ touch file4~/tmp$ find -type f -amin -1
./file4
指定時間内(2時間以内)に更新のあったファイルのみ表示
~/tmp$ find -type f -mtime -2./file4
見つけたファイルを削除する
~/tmp$ find -type f -mtime -2 -exec rm {} \;~/tmp$ ls file4
ls: cannot access file4: No such file or directory