GNU/Linux >> Linux の 問題 >  >> Linux

Linuxで特定のテキスト文字列を含むファイルを見つける方法

NemoのようなLinux用のほぼすべてのファイルマネージャー およびThunar デフォルトでは、ファイルを検索するオプションが用意されています。ただし、ファイルマネージャを使用してファイルのコンテンツ内の文字列を検索する場合、それらの大部分では検索できません。

この記事では、Linuxディストリビューションで使用できるさまざまな方法について説明し、すべてのサブディレクトリを再帰的に調べて、特定のテキスト文字列または単語を含むすべてのファイルを検索します。

このページについて

  • CatfishGUIツールを使用してLinuxで特定のテキストを検索する
  • Grepコマンドを使用してLinuxで特定のテキストを検索する
  • MC(Midnight Commander)を使用してLinuxで特定のテキストを検索する
CatfishGUIツールを使用してLinuxで特定のテキストを検索する

Linuxユーザーを上級者にするために、初心者を含むすべての人が利用できる最も簡単な方法から始めます。 ナマズ Linuxデスクトップ用のシンプルで軽量なGUIベースのファイル検索ツールです。システム上のファイルを検索するだけでなく、特定の単語を含むすべてのファイルを検索するためにも使用できます。

[あなたも好きかもしれません:Linuxでタイムスタンプに基づいてファイルを見つける方法]

LinuxにCatfishSearchToolをインストールする

ナマズ パッケージは、プライマリDebianおよびUbuntuリポジトリですでに利用可能です。したがって、DebianまたはUbuntuベースのディストリビューションを使用している場合は、次のコマンドを実行するだけでインストールできます。

$ sudo apt install catfish  [On Debian/Ubuntu & Mint]

他のLinuxディストリビューションでは、パッケージマネージャーを使用してデフォルトのリポジトリからインストールできます。

$ sudo yum install catfish  [On CentOS/RHEL 7]
$ sudo dnf install catfish  [On CentOS/RHEL 8 & Fedora]
$ sudo pacman -S catfish    [On Arch Linux]
$ sudo pkg_add -v catfish   [On FreeBSD]

パッケージが利用できない場合は、最新のリリースファイルをダウンロードし、ダウンロードしたtar.bz2ファイルを抽出して、次のコマンドを実行できます。

$ sudo python3 setup.py install

ナマズを使用してファイルの内容を検索

インストールしたら、「ファイルの内容を検索」を有効にするだけです。 」、左上のドロップダウンオプションからディレクトリを選択し、検索するテキストを入力します。テキストを含むすべてのファイルがファイルサイズと場所とともに一覧表示されます。

左側のパネルからファイルタイプと変更日フィルターを使用して、検索範囲を縮小することもできます。検索したくないディレクトリパスを追加することもできます。

Grepコマンドを使用してLinuxで特定のテキストを検索

GUIの横 ちなみに、 grep は、ファイルコンテンツ内の検索に使用できる人気のあるコマンドラインツールの1つです。ほとんどすべてのUNIXライクなオペレーティングシステムはgrepを出荷しているので ユーティリティはデフォルトでインストールする必要はありません。

ファイル内の特定のテキストを検索する

Linux端末で特定のテキスト文字列のすべてのファイルを検索して見つけるには、次のコマンドを実行します。ここで、'-r' または'-R' flagは、指定されたディレクトリ内のすべてのサブディレクトリを再帰的に検索します。

$ grep -r “linuxshelltips” /home/sarvottam/

指定された文字列を含むファイル名を検索する

ファイル名のみを出力し、出力からテキストを非表示にする場合は、'-l'を使用できます。 フラグ。

$ grep -rl “linuxshelltips” /home/sarvottam/

指定された文字列を含むファイル名と行番号を印刷する

さらに、 grep で使用可能な次のオプションを使用して、出力を微調整することもできます。 :

  • 'i' 大文字と小文字を区別しない場合。
  • 'n' 行番号を印刷します。
  • 'w' 単語全体に一致します。
$ sudo grep -rnwi “linuxshelltips” /home/sarvottam/

また、root権限が必要なディレクトリを検索する場合は、sudoコマンドを使用する必要があることにも言及しておく価値があります。

特定のファイルタイプで特定のテキストを検索する

検索範囲をさらに狭めるために、検索中にのみ検索するファイルとディレクトリのタイプを具体的に指定することもできます。 “--include”“--exclude” 、および“--exclude-dir” ファイルタイプとディレクトリフィルタを追加するために使用できるオプションです。

$ grep --include=\*.txt --exclude=\*.{java,js} --exclude-dir=\bin -rnwi "linuxshelltips" /home/sarvottam/

MC(Midnight Commander)を使用してLinuxで特定のテキストを検索する

ターミナルに住んでいて、GUIを使用してテキストを検索したい場合は、ターミナルユーザーインターフェイス(TUI)ベースのファイルマネージャーツール mcを試すこともできます。 (真夜中の司令官 )–ファイルの検索に使用されるビジュアルファイルマネージャーです。

LinuxにMidnightCommanderをインストールする

ミッドナイトコマンダー ほとんどのLinuxディストリビューションのデフォルトのリポジトリからインストールできます。

$ sudo apt install mc  [On Debian/Ubuntu & Mint]
$ sudo yum install mc  [On CentOS/RHEL 7]
$ sudo dnf install mc  [On CentOS/RHEL 8 & Fedora]
$ sudo pacman -S mc    [On Arch Linux]
$ sudo pkg_add -v mc   [On FreeBSD]

MidnighCommanderを使用してファイルの内容を検索

ターミナル内、 mc キーボードまたはマウスを介してナビゲートできるファイルシステムの視覚的表現を提供します。ファイルの内容を検索するには、ALT+SHIFT+?を使用して検索ダイアログを開くことができます。 “Content:”にテキストを入力します セクション。

上の画像でわかるように、大文字と小文字を区別しない、単語全体、正規表現などのフィルターを使用することもできます。チェックをオンまたはオフにするだけです。

結論

上記のすべてのアプリケーションは、初心者向けの使いやすく、自由に使用できるオープンソースであり、独自の拡張機能を追加できます。または、Ack、The Silver Searcher、Ripgrepなどの他の無料ツールを試して、コマンドを検索することもできます。


Linux
  1. パターンに一致する特定のファイルを検索する方法は?

  2. Linuxでテキストファイルからバイナリを見分ける方法

  3. Linux ファイル システムで dos 形式のファイルを見つける方法

  1. Linuxコマンド:テキストファイルのみを「検索」する方法は?

  2. Linuxでテキストを含まないテキストファイルを見つける方法は?

  3. Linux で特定のテキストを含むすべてのファイルを見つけるにはどうすればよいですか?

  1. Linuxでファイルを見つける方法

  2. Linux で GREP を使用して特定のテキストを検索する方法

  3. Linuxで特定の日付より古いファイルを削除するにはどうすればよいですか?