Linuxでファイル内の特定の単語を見つける方法
デフォルトでは、ほとんどの検索ツールはファイルの内容ではなくファイル名を調べます。ただし、最も有名なGNU検索プログラムであるgrep
、正しいフラグでファイル内を調べます。ここでは、Linux上のファイルで特定の単語を見つける方法を説明します。
grepを使用してファイル内の特定の単語を検索する
デフォルトでは、grepはファイルの内容とファイル名を検索します。これは大部分のLinuxシステムに含まれており、一般的にディストリビューション間で同一です。とはいえ、Linuxボックスが小さいか、それほど強力ではない場合は、ack
などの別のコマンドを実行することをお勧めします。 。
ファイルのエンコード方法によっては、grepが常に内部を確認できるとは限りません。ただし、ほとんどのテキストベースの形式では、grepはファイルのテキストをスキャンして指定されたパターンを探すことができます。
grep -Rw '/path/to/search/' -e 'pattern'
-R
flagは、grepを再帰モードに設定し、指定されたディレクトリ内に含まれるすべてのディレクトリをナビゲートします。 -w
フラグは単語全体の一致を検索します。つまり、「red」は空白文字で囲まれた「red」にのみ一致し、「redundant」や「tired」には一致しません。-e
フラグは、検索するパターンの前に付けます。デフォルトで正規表現をサポートしています。
grepを高速化するには、--exclude
を使用できます。 および--include
検索を特定のタイプのファイルに制限するフラグ。例:--exclude=*.csv
拡張子が.csvのファイルは検索されません。 --include=*.txt
一方、拡張子が.txtのファイル内のみを検索します。以下に示すように、フラグはgrepコマンドの直後に追加できます。
grep --exclude=*.csv -Rw '/path/to/search' -e 'pattern'
以下の形式に従って、指定したディレクトリを除外することもできます。
grep --exclude-dir={dir1,dir2,*_old} -Rw '/path/to/search' -e 'pattern'
このコマンドは、dir1、dir2という名前の現在の作業ディレクトリ内のディレクトリ、またはパターン* _oldに一致するディレクトリを検索しないため、検索プロセスから除外されます。現在の作業ディレクトリにある他のすべてのファイルに対して、指定された再帰的な全単語一致検索が実行されます。
findを使用してファイル内の特定の単語を検索する
find
コマンドの構文はgrepよりも複雑で、それを好む人もいます。
find . -name "*.php" -exec grep "pattern" {} \;
このコマンドは、findの-exec
を使用します 見つかったファイルを検索のためにgrepに渡すフラグ。構文を巧妙に配置することで、findのより高速なファイルシステム検索を使用して、検索する特定のファイルタイプを見つけ、それらをgrepにパイプして、ファイル内を検索できます。
findはファイル名のみを調べ、内容は調べないことに注意してください。そのため、ファイルのテキストとコンテンツを検索するにはgrepが必要です。通常のgrepフラグは、-exec
内から完全に機能する必要があります。 フラグ。
ackを使用してファイル内の特定の単語を検索する
ackコマンドはおそらく最速の検索ツールですが、上記のオプションほど人気はありません。以下のコマンドは、現在のディレクトリ内を検索します。
ack 'pattern'
特定のファイルまたはディレクトリ内を検索する場合は、そのファイルまたは完全修飾パス名を検索に追加できます。
ack 'pattern' /path/to/file.txt
結論
ほとんどの状況でほとんどの人にとって、grepは最も広く利用可能な検索ツールです。より高速な検索オプションについては、RipGrepなどの他の検索ツールを参照することもできます
-
Windows 10 で見つからないファイルを見つける方法
とらえどころのないファイルまたはプログラムをお探しですか? Windows Search は、失くしたものを見つけるのに役立つかもしれません。 検索は、Windows とそのインターフェイスに深く統合されています。新しい検索を開始するには、Win+S キーボード ショートカットを押します。探しているファイル内の既知の単語または一連の文字を入力してみてください。運が良ければ、アイテムはすぐに表示されます。 検索インターフェイスの上部にあるカテゴリを使用して、検索を絞り込むことができます。 「アプリ」、「ドキュメント」、「設定」、または「Web」を選択して、それぞれのカテゴリの結果のみを表
-
Linux でファイルを完全に削除する方法
Linux オペレーティング システムでは、削除されたファイルはゴミ箱に移動します。ゴミ箱を空にすると、ファイルはシステムから削除されます。ただし、回復ソフトウェアの需要が高まるにつれて、ゴミ箱から削除されたファイルはある程度まで回復できます。これは、ゴミ箱から削除されたファイルが完全に削除されることはなく、目に見えなくなったことを意味します。ファイルはまだハード ドライブのどこかに不必要なスペースを占有しており、新しいファイルが作成されてハード ドライブの同じセクターに保存されたときにのみ完全に削除されます。貴重なディスク スペースを回復し、ファイルの破損を回避するには、Linux 内のファ