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

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

6
マッチの前後にN番目とM番目の行を返すgrep
grepを使用すると、フィールド-Aを使用して-B、一致から前の行と次の行を取得できることを知っています。 ただし、多くの行が指定されていることに基づいて、マッチ間のすべての行を取り込みます。 grep -r -i -B 5 -A 5 "match" 私は5を受け取りたい番目の試合前のラインと5 番目のマッチラインに加えて、試合後の行をとの間に線を取得できません。 これを行う方法はありgrepますか?
12 command-line  grep  awk 

5
ソートされたファイルを効率的に検索
各行に1つの文字列を含む大きなファイルがあります。文字列がファイルにあるかどうかをすばやく判断できるようにしたいと思います。理想的には、これはバイナリチョップタイプのアルゴリズムを使用して行われます。 一部のGooglingは、バイナリ検索アルゴリズムを使用して、特定のプレフィックスで始まるすべての文字列を検索して出力することを約束するフラグをlook付けてコマンドを明らかにしました-b。残念ながら、これは正しく機能していないようで、ファイル内にあることがわかっている文字列に対してnullの結果を返します(同等のgrep検索で正しく返されます)。 このファイルを効率的に検索するための別のユーティリティまたは戦略を知っている人はいますか?

4
Grep:アスタリスク(*)は常に機能するとは限りません
以下を含むドキュメントをgrepした場合: ThisExampleString ... This*Stringまたはの場合*String、何も返されません。ただし、This*期待どおり上記の行を返します。 式が引用符で囲まれているかどうかは関係ありません。 アスタリスクは不明な文字をいくつも示していると思いましたか?それが式の最初にある場合にのみ機能するのはなぜですか?これが意図された動作である場合、式の代わりに何を使用This*Stringし*Stringますか?

4
現在のディレクトリ内のすべてのファイルで用語の出現をどのようにカウントしますか?
現在のディレクトリ内のすべてのファイルで用語の出現をどのようにカウントしますか?-およびサブディレクトリ(?) これを行うには、以下を使用することを読みましたgrep。正確なコマンドは何ですか? また、上記の他のコマンドで可能ですか?


2
grep -nの結果を考慮して、その特定の行でvimを開くにはどうすればよいですか?(キーボードのみを使用)
実行grep "keyword" -nして次の結果リストを取得すると、 a/b/c:10: keyword a/b/c:70: keyword a/b/d:50: keyword 見つかった行にあるファイルの1つ(リストの2番目など)を開くにはどうすればよいですか? マウスを使用して出力をコピーし、後でコピーして、コピーした行番号をvim追加+します。(つまりvim a/b/c +70、マウスコピーを使用してファイル名を取得し、別のマウスコピーを使用して行番号を取得します(または、十分短い場合は手動でコピーします)。 キーボードショートカットでそれを行う方法はありますか?

2
AWKを使用して2番目の列を取得する
データの2番目の列を取得するawkコマンドを取得できないようです。 バッシュコード: filter_data=$(awk "{if(/$filter:/) print $2}" < scanresults_temp.txt) printf "$filter_data \n" $ filter変数は、シェルスクリプトに渡されるDownloadまたはUploadの値です。したがって、awkはDownloadまたはUploadという用語を使用して、適切な行を検索します。 ファイルの内容は次のとおりです。 Testing download speed................................................................................ Download: 51.13 Mbit/s Testing upload speed................................................................................................ Upload: 57.38 Mbit/s 私は、数字だけではなく他の何かを取得しようとEX、午前51.13と57.38。
9 bash  grep  sed  awk 

2
CDのパスとしてgrep出力を使用する方法
grep出力を引数としてcdコマンドにパイプするにはどうすればよいですか? 例えば: [root@xxx xxx]# pip install django | grep '/usr.*' Requirement already satisfied (use --upgrade to upgrade): django in /usr/lib64/python2.7/site-packages ここ/usr/lib64/python2.7/site-packagesが強調表示されており、この文字列をに渡したいのですcd。

4
コマンドパイピングgrepから出力をファイルにリダイレクトする
私はこれを実行しています: cat /dev/urandom|hexdump| grep -i "ffff f" > random そして、私はfile randomで何も得ません、コマンドが中断された後、それは長さゼロのままです。 出力をファイルに書き込む方法は? 結果をファイルに書き込む必要があります。ファイルには次のような出力データが含まれているはずです。 021bc40 7724 d4f5 59ec bcbb ffff fd26 ab3c 9b7c 03a9100 b3a5 8601 fa33 ffff f23c 4326 2e7f 0c8a 0449810 e459 d5af 4e11 ffff fc55 8660 9efb 3c9b

1
Grep -E、Sed -E-'[x] {1,9999}'を使用するとパフォーマンスが低下しますが、なぜですか?
ときgrepやsedオプションとともに使用され--extended-regexp、パターンが{1,9999}使用されている正規表現の一部であり、これらのコマンドの性能が低くなります。より明確にするために、以下はいくつかのテストに適用されます。[1] [2] 相対性能grep -E、egrepおよびsed -E、で作られたので、唯一のテストはほぼ等しいgrep -Eが設けられています。 テスト1 $ time grep -E '[0-9]{1,99}' < /dev/null real 0m0.002s テスト2 $ time grep -E '[0-9]{1,9999}' < /dev/null > real 0m0.494s テスト3 $ time grep -E '[0123456789] {1,9999}' </ dev / null >リアル21分43.947秒 テスト4 $ time grep -E '[0123456789]+' < /dev/null $ time grep …

5
大きなテキストファイルでgrep / sedを使用して日付の範囲からテキストを取得する方法
大きなファイルテキスト(ほぼ3 GB)があります。これはログファイルです。このファイルから、7月13日から7月19日までの日付の範囲に対応するテキストの行を取得します。私のログ形式は: 2016-07-12 < ?xml version> 2016-07-13 < ?xml version> 2016-07-18 < ?xml version> 2016-07-18 < ?xml version> 2016-07-19 < ?xml version> 2016-07-20 < ?xml version> sample text sample text sample text sample text sample text sample text 2016-07-20 < ?xml version> sample text sample text 2016-07-20 < ?xml version> …

3
grep + regexが機能しないのはなぜですか?
最近私は十分で十分だと判断しました-私は流暢にgrepを使用することを学ぶつもりでした。3時間も経ちましたが、私はすでにこのおもちゃの問題に困惑しています。 現在RAID5アレイを同期しています/proc/mdstat。その進行状況はを読むことで監視できます。の出力をcat /proc/mdstat以下に示します。 $ cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md1 : active raid5 sda4[0] sdb4[1] sdc4[2] 5858765824 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] [=============>.......] resync = 67.3% (1972073120/2929382912) finish=205.7min speed=77537K/sec md0 : active raid5 sda3[0] sdb3[1] sdc3[2] 998400 …
9 grep 

2
grep出力を短い行に制限する
私はしばしば次のような特定のエントリを持つファイルを見つけるためにgrepを使用します: grep -R 'MyClassName' 良い点は、ファイルとその内容を返し、見つかった文字列を赤でマークすることです。悪い点は、テキスト全体が1つの大きな1行で記述されている巨大なファイルもあることです。これらの大きなファイル内でテキストを検索すると、grepが出力しすぎます。出力を例えば左と右に5ワードに制限する方法はありますか?または、出力を左と右に30文字に制限しますか?


5
セクションから始めるにはGrepのサポートが必要です
コードのセクションをgrepするテキストファイルがいくつかあります。私が達成しようとしている目標は、特定の行からビューを開始し、その下にあるものをすべて読み取ることができるようにすることです。例えば。以下のテキストで、黄色の開始点でテキストファイルを表示するにはどうすればよいですか。「黄色」の内容と、その内容に関係なく、その下のすべてを表示したいと思います。 green blue cyan magenta purple brown yellow red orange more orange more blue this is enough

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