sakawork @ ウィキ

メニュー

▼プログラミング言語関連
▼プロトコル関連
▼Web関連



ページ編集支援





リンク





UNIX > ファイル検索


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。


find/xargs

find

ファイルを検索する

オプション

使ったことのあるものだけ書いてます
他にもかなり多くのオプションがあります

条件
オプション 内容
-name xxx ファイル名がxxxと一致するものを検索
-type ファイルタイプが一致するものを検索
    -type f :ファイル
    -type d :ディレクトリ
    -type l :リンク
-atime n ファイルの最終アクセス日数が条件に一致するものを検索
    -atime +n :n日より経過
    -atime n :n日前
    -atime -n :n日未満
-ctime n ファイルの最終更新日数が条件に一致するものを検索
    -ctime +n :n日より経過
    -ctime n :n日前
    -ctime -n :n日未満
-user xxx ファイルのユーザーがxxxと一致するものを検索
-o or
-a and
\( \) 複数条件指定する場合などに()を優先
! 条件の否定

実行
オプション 内容
-exec コマンド {} \; 検索したファイルに対してコマンドを実行
-print 画面表示(デフォルト)
-print0 ファイルとファイルの間に\0を入れる

 /usrディレクトリ配下で、bashというファイル名を探す
$ find /usr -name "bash" 
/usr/share/menu/bash
/usr/share/doc/bash
 カレントディレクトリで、タイプがディレクトリ(-type d)のファイルかつ(-a)
 最終更新日時が1日未満のファイルを検索し
 ls -lを実行する
$ find . -type d -a -ctime -1 -exec ls -l {} \;

xargs

xargs コマンド
引き渡されたファイルに対してコマンドを実行
※findと組み合わせて使います
 findの-execオプションと同様の効果ですが
 -execが毎回コマンドを呼び出すのに対し、
 xargsは必要最低回数しか呼ばないらしく
 ファイルが多い場合にはxargsのほうが早いようです

オプション

オプション 内容
-0 ファイルの区切りを"\0"にする

 カレントディレクトリで"*_Souri.txt"に合致するファイルを
 開いて(cat)内容を名前順にソートし同じものを排除して(sort -u)表示
$find . -name "*_Souri.txt" | xargs cat |sort -u
 カレントディレクトリで"*_Souri.txt"に合致するファイルを
 開いて(cat)内容を名前順にソートし同じものを排除して(sort -u)表示
  (ファイルにスペースなどが含まれる場合に使用)
$find . -name "*_Souri.txt" -print0 | xargs -0 cat |sort -u



更新履歴

取得中です。


タグクラウド


アクセス

本日のアクセス
-
昨日のアクセス
-