Linuxで特定のテキストを含むファイルを検索する
Linuxには、使用するディストリビューションに関係なく、ファイルの検索を可能にする多数のGUIツールが付属しています。 最新のファイルマネージャーの多くは、ファイルリストでのファイル検索をサポートしています。 ただし、SSHセッション中や、Xサーバーが起動しない場合など、コンソールを使用する必要がある場合がいくつかあります。 ターミナルを使用して特定のテキストを含むファイルをすばやく見つける方法は次のとおりです。
GUIを使用できる場合は、ファイルの検索は問題ありません。 私のお気に入りのXFCEデスクトップ環境では、Thunarファイルマネージャーを使用すると、ファイルリストにファイル名を直接入力してファイルを検索できます。
しかし、私が試したファイルマネージャーはどれもファイルの内容を検索することを許可していません。
GUIセッションで作業するときにこの制限を回避するには、Сatfishを使用できます。 Сatfishは人気のある検索ツールです。 ファイルの内容を検索できます。 歯車のアイコンをクリックして、オプションを有効にする必要があります ファイルの内容を検索.
ただし、端末に関しては、グラフィックツールを使用することはできません。 また、Catfishは役に立たず、クラシックなコンソールツールを好みます。 これが私が使用する方法とツールです。
Linuxで特定のテキストを含むファイルを検索するには、 以下をせよ。
- お気に入りのターミナルアプリを開きます。 XFCE4ターミナル 私の個人的な好みです。
- 次のコマンドを入力します。
find ./ -type f -exec grep -l "text to find" {} \;
- これにより、必要なテキスト部分を含むファイルのリストが作成されます。
findコマンドは、現在のディレクトリ「./」から始まるファイルを検索します。 代わりに、目的のパスを指定できます。
オプション -タイプf ファイルのみを検索し、ディレクトリを除外するように指示します。 また、次のようにオプションを追加することで、特定のファイルタイプのみを検索するようにすることができます。find ./ -type f -iname "* .txt" -exec grep -l "text to find" {} \;
次のスクリーンショットを参照してください。
NS -exec オプションは、一致するファイルごとにgrepツールを呼び出して、それらの内容を確認します。 ファイル内にテキストが見つかった場合、その名前が出力に追加されます。 -lオプション.
代替案
上記の方法に代わる方法があります。 まず第一に、あなたは grep 道具。 次のコマンドを試してください。
grep -iRl "検索するテキスト" ./
- -iはテキストケースを無視することを表します。
- -Rは、再帰的なファイル処理を表します。
- -lは、「結果自体ではなく、ファイル名を表示する」を表します。
ご覧のとおり、この方法は 探す 指図。
真夜中の司令官
私がよく使用するもう1つの方法は、コンソールファイルマネージャーアプリであるMidnight Commander(mc)です。 findやgrepとは異なり、mcは私が試したすべてのLinuxディストリビューションにデフォルトで含まれているわけではありません。 自分でインストールする必要があるかもしれません。
Midnight Commanderを使用して特定のテキストを含むファイルを検索するには、アプリを起動し、キーボードで次のシーケンスを押します。
Alt + シフト + ?
これにより、検索ダイアログが開きます。
「ファイル名:」セクションに入力します。 「* .txt」のようなものを指定して、テキストファイルのみでテキストを検索できます。
今、記入してください コンテンツ: 箱。 ファイルに含まれるテキストを入力し、Enterキーを押します。
基準に一致するすべてのファイルが検索されます。
それでおしまい。