ファイルやテキストの検索

ファイルやテキストの検索

「find」と「grep」を活用する

Linuxでファイルやディレクトリを検索するには【find】を使い、テキストファイル内のデータから文字を検索するには【grep】を使います。

  • ファイルの名前を検索する
    探したいディレクトリを指定し、ファイル名や作成日時などの検索条件を記述して検索する。

    ▼ファイルとディレクトリを検索する
    $ find [ディレクトリ(パス)] [検索条件]

    ▼findの主なオプション

    -empty 空のディレクトリやファイルを検索
    -name ファイル名で検索
    -iname ファイル名で検索
    (大文字・小文字を区別しない)
    -typed ディレクトリを検索
    -mtime[n] [n]日前に更新されたファイルを検索
    -atime[n] [n]日前に最終アクセスされたファイルを検索
    -size[n]k [n]KBサイズのファイルを検索
    ▼カレントディレクトリで「test.txt」ファイルを検索
    $ find . -name text.txt
    「.」はカレントディレクトリを表し、「-name」での検索を指定
    ▼「test(1文字).txt」の条件に合うファイルを検索
    $ find . -name 'test?.txt'
    ワイルドカードを使い、test3.txt test4.txtが返される
    ▼「test(複数の文字).txt」の条件に合うファイルを検索
    $ find . -name 'test*.txt'
    test100.txt testabc.txtなどが返される

    ※ワイルドカードを使うときは【'ファイル名'】のように「' (シングルクォーテーション)」で囲む必要がある。

    ▼複数のディレクトリから「aaa」で始まるファイルを大文字・小文字関係なく検索
    $ find ./orange ./green -iname 'aaa*'
    「orange」「green」のサブディレクトリを指定し、「-iname」で大文字・小文字関係なく「'aaa*'」でaaaで始まるファイルを指定している。
    ▼1日以内に更新されたファイルを検索
    $ find . -mtime -1
    ▼「-mtime」での日付指定
    -mtime 7
    7日前

    -mtime +7
    7日より前に更新されたファイル

    -mtime -7
    7日以内に更新されたファイル
    ▼「orange」ディレクトリ内のサブディレクトリを検索
    $ find ./orange -type d
    ▼ファイルサイズが1KBのファイルを検索
    $ find . -size 1k
  • ファイルの中身を検索する

    ファイルの中から指定した文字が含まれる行を検索する【grep (Global find Regular Expression and Print)】コマンドを使う。

    ▼ファイルの文字列を検索する
    $ grep [オプション] [検索文字列] [ファイル名]
    ▼grepの主なオプション
    -i 大文字小文字を区別しないで検索
    -v 条件に合わないものを検索
    -E 拡張正規表現を使った検索
    ▼「test.txt」から「aaa」という文字を検索
    $ grep aaa test.txt
    ▼大文字小文字に関係なく「aaa」という文字を検索
    $ grep -i aaa test.txt
    ▼「test.txt」ファイル内で「aaa」の文字列が含まれない行を検索
    $ grep -v aaa test.txt

トラブルが発生した場合はすぐにお電話(050-5532-9970)ください。
迅速なトラブル解決だけでなく、パソコン購入アドバイスもしております。

パソコンレスキュー
三鷹市周辺のパソコン修理・トラブル解決ならお任せください!

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA