コマンドライン検索を回避するために、ASCIIファイル内の文字列を検索するユーティリティはありますか?
たとえば、ディレクトリ/var/x/
内のすべてのファイル内の文字列 "test"をコマンドラインで検索する方法
Searchmonkeyを使用できます。このツールはリポジトリで利用できるため、簡単に
Sudo apt-get install searchmonkey
一方、grepを使用したコマンドライン検索は、実際にそのためのものです...
これはsearchmonkeyのスクリーンショットです
最初の質問は、grep
コマンドのGUIの代替案に関するものだと思います。私はあなたを助けることができません、私はいつもコマンドラインが非常に効果的であると思います。
コマンドラインについては、試してください
grep "test" /var/x/*
再帰的に(つまり、/var/x/
だけでなく、そのサブディレクトリでも)検索したい場合は、
grep -R "test" /var/x/
Grepがバイナリと見なすファイルのgrepを回避するには、-I
オプションを使用します。
grep -I "test" /var/x/
Grepが(ファイルの最初の数バイトに基づいて)ファイルがバイナリであると判断した場合、ファイル全体を検索する代わりに、一致しないと見なします。
regexxerを使用できます。これは、正規表現用の優れたGUI検索/置換ツールです。
次の方法でダウンロードできます。
Sudo apt-get install regexxer
ターミナルからgrep
コマンドを使用できます。
grep -r string *
このコマンドは、現在のディレクトリ(またはサブディレクトリ)の下にあるすべてのファイルで、「string」のすべての出現を検索します。
隠しファイルの場合、次を使用できます。
grep -r string ..
私が今まで使用した中で最高のGUIであるRecollを試してください。現在サポートされているすべてのバージョンのUbuntuにリコールをインストールするには、ターミナルを開いて次のように入力します。
Sudo apt install recoll
最初にファイルのインデックスを作成するのに時間が必要です(ブラックリストパス、拡張子、またはMIMEを定義できます)。
残念ながら、grepはWord(.doc)ファイル内を検索するという非常に悪い仕事をしていますが、catdoc出力をgrepにパイプすることはできます。私はプログラマーではありませんが、この小さなスクリプトはうまく機能します。
#!/bin/bash
export GREP_OPTIONS='--color=auto'
echo -e "\n
Welcome to scandocs. This will search .doc (NOT .docx) files in this directory for a given string. \n
Type in the text string you want to find... \n"
read response
find . -name "*.doc" |
while read i; do catdoc "$i" |
grep -iH --label="$i" "$response"; done
すべての改善と提案を歓迎します!
仕事をするための簡単なツールをリリースしました。主にソフトウェア開発者向けに考えられたもので、同じウィンドウで複数のファイルを開くという(独自の?)特徴があります。 Aceエディター(推奨!)またはhtml textareaを使用して、ブラウザーに結果を表示します。これはJavaベースのツールであるため、Linuxと同様にWindowsでも実行できます。
見てみな!