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

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

3
末尾を使用するときに「ファイルが切り捨てられた」メッセージを抑制します
私は使用してログファイルをテーリングしてtail -f messages.logおり、これは出力の一部です: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce eget tellus sit amet odio porttitor rhoncus. Donec consequat diam sit amet tellus viverra pellentesque. tail: messages.log: file truncated Suspendisse at risus id neque pharetra finibus in facilisis ipsum. これはtail: messages.log: file truncated、ファイルが自動的に切り捨てられたときに表示され、それが起こるはずtailですが、この切り捨てメッセージなしで出力を表示したいだけです。 使ってみましたtail -f messages.log | grep …
11 grep  tail  output 

2
1文字の単語でのgrepの奇妙な動作
おおよそこのコードを使用して、テキストからストップワードを削除してい ます 私は以下を持っています $ cat file file types extensions $ cat stopwords i file types grep -vwFf stopwords file 私は結果を期待しています: extensions (私は間違っていると思います) file extensions fileストップワードファイルで単語がスキップされたかのようです。今ここにクールなビットがあります:私は、単一の単語/文字変更することで、ストップワードファイルを変更した場合i、最初の行には、離れてから他のASCII文字にf、i、l、e、その後、同じgrepコマンドは私の異なると正しい結果を与えますextensions。 ここで何が起こっているのですか、どうすれば修正できますか? Mac OSX GNU bash、バージョン4.4.12(1)でgrep(BSD grep)2.5.1-FreeBSDを使用しています。
10 grep  osx  freebsd 

3
lshwから2行をgrepする方法は?
マザーボードのシリアル番号とコンピューターの製品モデルをgrepしたい。使った sudo lshw | grep -m1 serial: シリアル番号をgrepする方法(「serial:」が複数あり、最初のものが必要なためです。これをどのように行うことができ、同時に「product:」のgrepも同時に実行できますか?productも複数存在します。そして最初のものはまた私が欲しいものです。 lshw これを返します: user@ubuntu:~$ sudo lshw ubuntu-pc description: Notebook product: 23252DG (LENOVO_MT_2325) vendor: LENOVO version: ThinkPad X230 serial: R9TWZVR width: 64 bits capabilities: smbios-2.7 dmi-2.7 vsyscall32 configuration: administrator_password=disabled chassis=notebook family=ThinkPad X230 power-on_password=disabled sku=LENOVO_MT_2325 uuid=01ECC0B1-8251-CB11-8538-B7D9EC435D9B *-core description: Motherboard product: 23252DG vendor: LENOVO physical id: …

11
Grepの一致と抽出
次のような行を含むファイルがあります proto=tcp/http sent=144 rcvd=52 spkt=3 proto=tcp/https sent=145 rcvd=52 spkt=3 proto=udp/dns sent=144 rcvd=52 spkt=3 私は、プロトの値を抽出する必要がありtcp/http、tcp/https、udp/dns。 これまでのところ、これを試しましたgrep -o 'proto=[^/]*/'が、値はとしてのみ抽出できましたproto=tcp/。
10 awk  grep 

3
bashスクリプトでunicodeをgrepする方法
if grep -q "�" out.txt then echo "working" else cat out.txt fi 基本的に、ファイル「out.txt」にファイル内のどこかに「 」が含まれている場合は、「機能」をエコーし​​たい場合、およびファイル「out.txt」にファイル内のどこにも「 」が含まれていない場合は、 cat out.txtに 編集:これが私がやっていることです。私はopenssl復号化をブルートフォースにしようとしています。 openssl encは、成功すると0を返し、それ以外の場合はゼロ以外を返します。注:AES / CBCはパディングを正しく行うことに基づいて「復号化が機能する」かどうかしか判断できないため、誤検知が発生します。したがって、ファイルは復号化されますが、正しいパスワードではないため、意味不明なものになります。意味不明な言葉の一般的な文字は「 」です。したがって、出力に「 」が含まれている場合は、doループを続行する必要があります。 Heres my git link https://github.com/Raphaeangelo/OpenSSLCracker Heres the script while read line do openssl aes-256-cbc -d -a -in $1 -pass pass:$line -out out.txt 2>out.txt >/dev/null && printf …

3
「ls -a |」の奇妙な動作 grep ^ \。」
pwdのコンテンツをリストし、ドットで始まるファイルのみを表示したいと思いました。試しましたls -a | grep ^\.が、ドットで始まらないファイルが出力に含まれる理由がわかりません。例えば: Pictures .pip .pki .profile projects Public 自分がやりたいことを達成できることはわかってls -ld .*います。説明できないgrepのこの動作に興味があります。

3
複数行のテキストファイルで、中かっこの間のすべてのテキストを削除するにはどうすればよいですか?
例: This is { the multiline text file } that wants { to be changed } anyway. になるはずです: This is that wants anyway. フォーラムでいくつかの同様の スレッドを見つけましたが、それらは複数行の中括弧で動作しないようです。 可能であれば、grep、sed、awkなどに基づくソリューションなど、1行の方法を使用することをお勧めします。 編集:ソリューションは問題ないようですが、元のファイルに中括弧のネストが含まれていることに気づきました。だから私は新しい質問を開いています。皆さん、ありがとうございます。複数行のテキストファイルで、ネストされた中かっこの間のすべてのテキストを削除するにはどうすればよいですか?

4
改行文字を含む文字列を置き換えます
bashシェル、以下のもののような行を持つファイルに first "line" <second>line and so on の1つ以上の出現をに置き換え"line"\n<second>てother characters、毎回取得したいと思います。 first other characters line and so on 両方などの特殊文字で文字列を置換する必要があり、私はそう"と<して改行文字と。 他の回答の間で検索したところsed、コマンドの右側(other characters文字列)の改行は受け入れられるが、左側は受け入れられないことがわかりました。 またはでこの結果を取得する方法(これよりも簡単)はありますか?sedgrep


6
bash文字列で始まる行を見つける
たくさんのファイルがあり、特定の文字列で始まる連続した行が含まれているファイルを見つけたい。 たとえば、次のファイルの場合: Aaaaaaaaaaaa Baaaaaaaaaaa Cxxxxxxxxx Cyyyyyyyyy Czzzzzzzzz Abbbbbbbbbbb Bbbbbbbbbbbb Caaaaaa Accccccccccc Bccccccccccc Cdddddd Ceeeeee 「C」で始まる行が複数あるので、このファイルをコマンドで見つけたいと思います。 たとえば、次のファイルの場合: Aaaaaaaaaaaa Baaaaaaaaaaa Cxxxxxxxxx Abbbbbbbbbbb Bbbbbbbbbbbb Caaaaaa Accccccccccc Bccccccccccc Cdddddd 「C」で始まる行は常に1つあります。このファイルは必要ありません。a grepやa の使用を考えましたsedが、正確な方法がわかりません。多分正規表現^C.*$^Cかそのようなものを使用しています。何か案が ?
10 bash  sed  grep  string 

3
「バー」が10行以内に表示されない「フー」のインスタンスを検索するgrep
「Foo」が発生するすべてのCPPファイルをツリー全体で検索するとします。私はするかもしれません: find . -name "*.cpp" | xargs grep "Foo" ここで、前の結果の3行以内に「Bar」が発生しないという他の文字列があるインスタンスのみをリストしたいとします。 したがって、2つのファイルが与えられます。 a.cpp 1 Foo 2 qwerty 3 qwerty b.cpp 1 Foo 2 Bar 3 qwerty a.cppからの "Foo"は検出されますが、b.cppからの "Foo"は検出されない単純な検索を作成したいと思います。 これをかなり簡単な方法で達成する方法はありますか?
10 grep 


3
Bashで二重文字を見つけるための正規表現
コマンドライン(Bash)で、テキスト、リストなどの二重文字のすべての出現を検出する正規表現を探しています。 主な質問:様配列を探すための簡単な方法があるaa、ll、ttttt1は同じ文字のn個の出現箇所を検索することを正規表現を定義し、その他は?私が探しているのは、非常に基本的なレベルでこれを達成することです。コマンドライン。Linuxシェル。 かなりの調査の後、私は次の答えにたどり着きました–そしてそれらから生じる質問、そしてそれゆえ彼らは私に解決策がどこにあるのかについてのヒントを与えてくれました。だが: a)(e)grepとバックスラッシュの問題 grep 'a\{2\}' 探す aa egrep'a{2}' 探す aa 質問:バックラッシュを設定する必要性は、実際に使用するコマンドにバインドされていますか?もしそうなら、誰かがここで(e)grepを使用するときに考慮すべき他のことを教えてくれますか? b)私が探していたものとは異なりますが、この質問に対する回答をここで見つけました。 grep -E '(.)\1' filename同じ文字が複数回出現するエントリを探しますが、その頻度は尋ねません。これは私が探しているものに近いですが、繰り返しの数を設定したいと思います。 私はおそらくこれを2つ以上の質問に分割する必要がありますが、この素晴らしいサイトをここに殺到させたくありません。 PS:もう一つの問題、おそらくトピックオフけど:それであるin、inside、atまたはon the shell。そしてon the command line正しいですか?

2
「grep -r foo *」対「grep -r foo」
grep -rを使用すると、*または。のいずれかを使用してすべてのファイルを検索できます。同じものを返すようですが、本当に同じですか? 「foo」を検索するとすると、次のように書くことができます grep -r foo * または grep -r foo . 誰もが違いを説明しようとするだろうか。そして*?
10 grep  wildcards 

1
不正確なテキスト検索
以下のような任意の有用性があるgrepかさえもuniqが、不正確な検索のためには、または私はそれを自分で書く必要がありますか? つまり、90%(数値は異なる場合があります)マッチング、またはそのようなものを調べます。たとえば、いくつかの文字列を含むファイルがあります。 abc123 abd123 abc223 qwe938 この場合、このようなユーティリティは最初の3つの文字列を返すか、類似していると言う必要があります。もちろん、grepやの場合のように、ファイルのコンテンツのパターンを知りませんuniq。

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