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

ファイル内のテキストパターンを検索するコマンドラインツールであるgrepに関する質問。このタグは、grep自体に関する質問、またはgrepコマンドラインツールの使用から生じる問題に関する質問に使用します。

4
2つのタイムスタンプ間でログを抽出する方法
2つのタイムスタンプ間のすべてのログを抽出したい。一部の行にはタイムスタンプがない場合がありますが、それらの行も必要です。つまり、2つのタイムスタンプの下にあるすべての行が必要です。私のログ構造は次のようになります。 [2014-04-07 23:59:58] CheckForCallAction [ERROR] Exception caught in +CheckForCallAction :: null --Checking user-- Post [2014-04-08 00:00:03] MobileAppRequestFilter [DEBUG] Action requested checkforcall との間のすべてを抽出したい2014-04-07 23:00とし2014-04-08 02:00ます。 開始タイムスタンプまたは終了タイムスタンプがログにない場合がありますが、これら2つのタイムスタンプの間のすべての行が必要です。

2
Grepエイリアス-パイプラインにない限り行番号
行番号を追加するgrepのbashエイリアスを作成したい: alias grep='grep -n' しかし、それはもちろん、パイプラインにも行番号を追加します。ほとんどの場合(例外もありません)、パイプライン内に行番号は必要ありません(少なくとも内部的には、おそらく最後であればOKです)。また、sed / awk / cutをそれらを取り出すためのパイプライン。 おそらく私の要件は、「grepが行の唯一のコマンドである場合にのみ行番号を追加する」ように簡略化できます。特にいエイリアスなしでこれを行う方法はありますか?



2
grepの出力を/ dev / nullにリダイレクトする意味は何ですか?
次の行を検討してください。 ${libdir}/bin/licenseTool check "${SERIAL}" "${VERSION}" "${PRODUCT}" ${libdir} | grep '^200' >/dev/null 結果ならば出力内のパターンを探しているのポイント何捨てられますか? そして、そのような行がbashスクリプトの最後のものとして表示される場合、その終了値はスクリプトの呼び出し元に返されますか、それとも無視されますか?(これは副作用のためだけに行われると推測できるのか、何らかの形で呼び出し元に何かを返すのかどうか推測しています。)

3
sedの正規表現で[\ w] +を使用するには?
私はWindowsを使用していますが、私の質問はまだここに正しく置かれていると思います。 C:\Users\User>grep --version GNU grep 2.6.3 C:\Users\User>sed --version GNU sed version 4.2.1 私は次のように動作していることに気付きました(出力here): echo here | grep -E "\w+" echo here | grep -E "[her]+" しかし、これは機能しません(何も出力しません): echo here | grep -E "[\w]+" これは再び行います(出力here): echo here | grep -P "[\w]+" だから[\w]、Perlの正規表現に固有の何かだと思います。あれは正しいですか? それでは、話しましょうsed。これは動作します(出力gone): echo here | sed -r "s/\w+/gone/" echo here | …

2
trは「不正なバイトシーケンス」について不平を言っています
私はUNIXが初めてで、Kirk McElhearnの「The Mac OS X Command Line」を使用していくつかのコマンドを習得しています。 私が使用しようとしていますtrとgrepなるように、私は、通常のMS-OfficeのWord文書内のテキスト文字列を検索することができます。 $ tr '\r' '\n' < target-file | grep search-string ただし、返されるのは次のとおりです。 Illegal byte sequence. robomechanoid:Position-Paper-Final-Draft robertjralph$ tr '\r' '\n' < Position-Paper-Final-Version.docx | grep DeCSS tr: Illegal byte sequence robomechanoid:Position-Paper-Final-Draft robertjralph$ 実際に作成したスクリプトで同じ行を実行しましviたが、検索は正しく実行されます。

9
複数の行にわたってパターンを「grep」するにはどうすればよいですか?
grep/ を誤用しているようですegrep。 私は複数行の文字列を検索しようとしていて、探しているものが一致するはずだとわかっている間に一致を見つけることができませんでした。元々、自分の正規表現は間違っていると思っていましたが、最終的にはこれらのツールが行ごとに動作することを読みました(また、私の正規表現は非常に些細なため問題になりません)。 それでは、複数の行にわたってパターンを検索するためにどのツールを使用しますか?

5
ファイル内のテキストをgrepし、そのテキストを含む段落を表示する方法は?
ファイル内のテキストは次のとおりです。 Pseudo name=Apple Code=42B state=fault Pseudo name=Prance Code=43B state=good 「42B」をgrepして、上記のテキストから次のような出力を取得する必要があります。 Pseudo name=Apple Code=42B state=fault grep/ awk/ を使用してこれを達成する方法について誰にもアイデアがありますsedか?

15
'ls -1':拡張子なしでファイル名をリストする方法
ls -1 私の要素を次のようにリストします: foo.png bar.png foobar.png ... 私はそれなしでリストにしたい.pngので: foo bar foobar ... (ディレクトリには.pngファイルのみが含まれます) grepこの場合の使用方法を教えてもらえますか? 目的:すべての名前が拡張子なしでリストされているテキストファイルがあります。テキストファイルとフォルダーを比較して、不足しているファイルを確認するスクリプトを作成します。
24 shell  grep  ls 

3
grepバイナリファイルと同等のコマンド
たくさんのバイナリがありますが、これらのバイナリの中には探したい文字列があることを知っています。 私はしたい: grep -lir "the string I am looking for" そして、その文字列を含む特定のディレクトリ内のすべてのバイナリのリストを取得しますがgrep -lir、明らかにこれらのファイルで動作していません。 この種の検索を端末から実行できるコマンドはありますか?
24 grep 

3
「grep -q」が入力ファイル全体を消費するのはなぜですか?
次の入力ファイルを検討してください。 1 2 3 4 ランニング { grep -q 2; cat; } < infile 何も印刷しません。私はそれが印刷されると期待しています 3 4 に変更すると、期待どおりの出力を得ることができます { sed -n 2q; cat; } < infile 最初のコマンドが期待される出力を印刷しないのはなぜですか? これはシーク可能な入力ファイルであり、OPTIONSの標準に従っています。 -q Quiet. Nothing shall be written to the standard output, regardless of matching lines. Exit with zero status if an input line …
23 grep 

6
一意の文字を含む10文字すべての単語の正規表現
私は10文字のすべての単語を表示する正規表現を作成しようとしていますが、どの文字も繰り返されていません。 これまでのところ、私は持っています grep --colour -Eow '(\w{10})' これは、質問の最初の部分です。「一意性」を確認するにはどうすればよいですか?後方参照を使用する必要があることを除けば、本当に手がかりはありません。

1
grepへの検索用語(ファイル名ではない)のパイピング
ファイルから特定の番号を含む特定の行を取り出したい。検索したいファイルはと呼ばれos_clusters/piRNA_clusters.bedます。 awk '{if (a[$0]++ == 0) {split($0,b,"."); ;split(b[1],c,"r"); print c[3]}};' test_non_enriched | xargs grep {} os_clusters/piRNA_clusters.bed パイプの前の最初の部分は機能します。8707、8824など、検索する用語を生成します。ただし、後者は機能しません。 awk '' ... | xargs grep {} os_clusters/piRNA_clusters.bed パイプによって生成された用語をターゲットファイルで検索する代わりに、検索用語を入力ファイルと見なします。したがって、次のようなエラーメッセージが表示されます。 grep: 8707: No such file or directory grep: 8824: No such file or directory os_clusters/piRNA_clusters.bedパイプによって生成された用語をファイルで検索するには、何を変更する必要がありますか?
23 bash  grep  pipe 

5
grepの結果から数値を追加する
次のコマンドを実行します。 grep -o "[0-9] errors" verification_report_3.txt | awk '{print $1}' そして、私は次の結果を得る: 1 4 0 8 各数値を実行中のカウント変数に追加したいと思います。誰かが私を構築するのに役立つ魔法のワンライナーはありますか?
23 bash  shell  grep 

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