タグ付けされた質問 「grep」

grepは、テキストの検索に使用されるコマンドラインユーティリティです。

11
「grep」コマンドを使用してサブディレクトリを含むテキストを検索する方法
特定のテキスト文字列を含むすべてのファイルを検索したい。grepコマンドは動作しますが、私は(私は私の現在のディレクトリのためにそれを行うことができますのみ)すべてのディレクトリのためにそれを使用する方法がわかりません。読んman grepでみましたが、助けにはなりませんでした。
373 command-line  grep 

4
リテラルタブを使用せずにタブをgrepする方法と、なぜ\ tが機能しないのですか?
(e)grepを使用してファイル内のタブを検索するときは、litteralタブ(^v + <tab>)を使用します。\t正規表現のタブの代わりとして利用することはできません。たとえばsedでは、この式は非常にうまく機能します。 だから、非同種の代替品を使用する可能性はありますか?<tab>非動作/非解釈の背景は何\tですか?

4
文字列がディレクトリ名の一部のみである特定の文字列を持つディレクトリ名を再帰的に検索するにはどうすればよいですか
文字列がディレクトリ名の一部にすぎない特定の文字列を持つディレクトリ名を再帰的に検索するにはどうすればよいですか? たとえば、ディレクトリ名は「8.0.3-99966_en」ですが、「99966」という文字列のディレクトリを再帰的に検索したいです。
73 grep 


5
Grep、警告を無視
特定のパッケージのインストールディレクトリを見つけようとしています。特定のファイルを見つけようとしている特定のキーワードがあります。 grepの実行中に、cppまたはhファイルタイプのみを含めます。私は表示するためにはgrepをしたくないの警告のような権限拒否したり ディレクトリを見つけることができませんでした。一致したファイルのみを表示したいだけです。どうすればこれを行うことができますか? 現在、私は使用しています grep "My term" -ir --exclude-dir="\.svn" --include=*.{cpp,h} ./
50 search  grep 

7
Grepが2つの単語を1行で検索
私は、「レモン」と「米」という単語を含む行をフィルタリングする方法を見つけようとしてきました。「レモン」または「ライス」を見つける方法は知っていますが、それらの2つは見つけません。それらは他のテキストの隣にある必要はなく、1行だけが同じテキストです。

2
grepのこの[t] rickyブラケット式はどのように機能しますか?
私は最近このワンライナーを見ました: $ ps -ef | grep [f]irefox thorsen 16730 1 1 Jun19 ? 00:27:27 /usr/lib/firefox/firefox ... そのため、データに「firefox」が含まれるプロセスのリストが返されるようですが、grepプロセス自体は除外されているため、次のようになります。 ps -ef |grep -v grep| grep firefox しかし、それがどのように機能するのか理解できません。私はgrepなどのmanページを見てきましたが、説明が見つかりませんでした。 そして、私が実行した場合に謎を悪化させるには: $ ps -ef | grep firefox > data $ grep [f]irefox data thorsen 15820 28618 0 07:28 pts/1 00:00:00 grep --color=auto firefox thorsen 16730 …

3
grepの出力を色付きのファイルに保存する
grepコマンドの結果をファイルに保存する必要がありますが、出力ファイルをフォーマットして、端末の場合と同じように色を保持する必要もあります。 それを行う方法はありますか?grepをある種のマークアップ言語に保存するのでしょうか?それが不可能な場合、このタスクを達成できる別のツールはありますか? ターミナルとまったく同じように、出力ファイルで検索キーワードを目立たせようとしています。

5
ディレクトリ内のすべてのファイルで非再帰的にgrepを使用する方法は?
ディレクトリ内のすべてのファイルでテキストの文字列を検索したいです(サブディレクトリ-rではなく、オプションがそれを行うことは知っていますが、それは私が望んでいるものではありません)。 ランニング grep "string" /path/to/dir これを行うことができるはずですが、私は読んでいますが、それは私にエラーを与えます: grep:dir:ディレクトリです 次に、grep複数のファイルで実行してみました。 grep "string" .bashrc .bash_aliases 完全に動作します。 grep "string" .bash* 意図したとおりに機能します。 grep "string" * 私にエラーを与えます: grep: data: Is a directory grep: Desktop: Is a directory grep: Documents: Is a directory grep: Downloads: Is a directory ... エラーのみが出力され、一致する行が表示されません。-sオプションを使用してみましたが、役に立ちませんでした。 だから、私の質問: grep(1)のように、できるはずなのにディレクトリで使用できないのはなぜですか?私はそれがインターネットでたくさんの例で行われているのを見てきました。 編集:「ディレクトリでgrepを使用する」と言うとき、「そのサブディレクトリを除くそのディレクトリ内のすべてのファイルを検索する」という意味です。これは、ファイルの代わりにディレクトリを渡すときにgrepが行うことだと思います。私は間違っていますか? grep(2)のコマンドの動作を説明する仕組みについて説明してください。 編集:より具体的にさせてください。なぜワイルドカードを使用して複数のファイルを指定して.bash*、*またはでなく、で検索するの./*ですか? を使用して、ディレクトリ内のすべてのファイル(およびサブディレクトリではない)を検索するにはどうすればよいgrepですか?
34 grep 

4
n桁のグループをgrepする方法(ただし、n以下)
私はLinuxを学んでいますが、自分で解決できないように思える課題があります。ここにあります: grepは、1行に4つの数字を含むが4以下のファイルから1行をgrepします。 私はこれにどのようにアプローチするかわかりません。特定の数値を検索することはできますが、文字列でその数値を検索することはできません。

1
grepでフィルタリングされた出力を見るにはどうすればよいですか?
出力の変化を見たい gsettings list-recursively|grep text-scal これは org.gnome.desktop.interface text-scaling-factor 1.0 com.canonical.Unity.Interface text-scale-factor 1.0 しかし、私はそれを見てみると watch gsettings list-recursively|grep text-scal パイプに問題があると思われるため、出力は得られません。 どうすれば変更を確認できますか?

3
2行または3行をgrepする方法は、1行に必要なテキストが含まれており、他の行はそのすぐ下にありますか?
これはエラーログのスナップショットです。 06:16:29,933 ERROR EmailRMManager$:45 - Exception In get Message com.rabbitmq.client.AlreadyClosedException: clean connection shutdown; reason: Attempt to use closed channel at com.rabbitmq.client.impl.AMQChannel.ensureIsOpen(AMQChannel.java:195) at com.rabbitmq.client.impl.AMQChannel.rpc(AMQChannel.java:222) at com.rabbitmq.client.impl.AMQChannel.rpc(AMQChannel.java:208) at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:139) at com.rabbitmq.client.impl.ChannelN.basicGet(ChannelN.java:645) 次のコマンドを実行します。 cat foo.log | grep ERROR OPを取得するには: 06:16:29,933 ERROR EmailRMManager$:45 - Exception In get Message 出力を取得するにはどのコマンドを実行する必要がありますか 06:16:29,933 ERROR EmailRMManager$:45 - Exception …

5
grep —一致が見つかったファイル名のリスト
ディレクトリにたくさんの.htmlファイルがあります。各ファイルを調べて、パターン(MD5)に一致させたい。これらはすべて簡単です。問題は、一致が見つかったファイルを知る必要があることです。 cat *.html | grep 75447A831E943724DD2DE9959E72EE31 一致が見つかったHTMLページコンテンツのみを返しますが、見つかったファイルを教えてくれません。一致が見つかったファイル名を表示するためにgrepを取得するにはどうすればよいですか。

6
ログを見るためのGUI(tailおよびgrep)
強力なログ監視機能を備えたGUIアプリケーションをお勧めしますか? 一般にtail -f、GUIと同様に機能しますが、その上で次の機能が非常に役立ちます。 (正規の)式に基づいていくつかの行をフィルタリングする (正規の)式に基づいていくつかの行を色付けする インタラクティブ検索 さまざまなファイルに簡単に適用できる保存可能な構成 (正規)式に基づく通知 Windowsの同様のツールは、BareTailとその有料版-BareTailProです。

2
grep「+」演算子が機能しない
この ls -l /var/log | awk '{print $9}' | grep "^[a-z]*\.log." これを出力します: alternatives.log.1 alternatives.log.10.gz alternatives.log.2.gz alternatives.log.3.gz alternatives.log.4.gz alternatives.log.5.gz alternatives.log.6.gz alternatives.log.7.gz alternatives.log.8.gz alternatives.log.9.gz apport.log.1 apport.log.2.gz apport.log.3.gz でもこれは: ls -l /var/log | awk '{print $9}' | grep "^[a-z]+\.log." 何も出力しません。 どうして?に変更*しました+。似てない?演算子+には、少なくとも1つの一致が必要で、*ゼロ以上が必要です。
31 grep 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.