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

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

2
単語の境界について混乱している
私はこれをよく研究していますが、まだはっきりしていません。単語の境界とはどういう意味ですか?それは何をするためのものか? それで、例えば、誰かが私にこのコマンドを説明してもらえますか? egrep '\b[A-Z]+\b' filename.sh

3
キーワードの出現箇所を別の色でマークする
私は次のstdoutような出力を吐き出すプログラムを持っています: [OK] Something is ok [OK] Something else is also ok [FAIL] This does not look good [FAIL] Neither does this [OK] At least this is fine 出力からの失敗をより簡単に見つけるために、他のメッセージを破棄せずにキーワードの出現FAILを赤でマークしたいと思います。キーワードを緑色で強調表示できたらいいですね:)。OK パイプを実行egrep --color FAILすると、FAILキーワードが存在する行のみが表示されます。
13 grep  colors 

3
オンラインgrep演習?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 UnixおよびLinux Stack Exchangeで話題になるようにします。 8か月前に閉鎖されました。 演習を実行するためのオンラインツールを備えたオンラインgrepチュートリアルはありますか?たとえば、定義済みのテキストサンプルを使用して、どのパターンを検索するかなどを教えられますか?予測可能な環境でgrepを実際に学習するための非常に便利なツールです。

3
teeを使用してgrepにリダイレクトする方法
Tシャツの使用経験はあまりないので、これがあまり基本的ではないことを願っています。 この質問に対する答えの1つを見た後、私は奇妙な行動に出会いましたtee。 最初の行と見つかった行を出力するために、これを使用できます: ps aux | tee >(head -n1) | grep syslog USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND syslog 806 0.0 0.0 34600 824 ? Sl Sep07 0:00 rsyslogd -c4 ただし、これを(zshで)初めて実行したとき、結果の順序が間違っていて、列ヘッダーがgrepの結果の下にありました(ただし、これは再び起こりませんでした)。 ps aux | tee >(grep syslog) | head -n1 USER PID %CPU %MEM VSZ …



3
grepで正規表現が機能しない
私はこの正規表現を持っています: (?<=prefix).*$ これは、文字列「prefix」に続く任意の文字を返し、オンライン正規表現エンジン(例:https : //regex101.com)で正常に動作します。問題は、bashでその正規表現を使用する場合です。 grep '(?<=prefix).*$' <<< prefixSTRING 何にも一致しません。その正規表現がgrepで機能しないのはなぜですか?


2
Grep:全行の検索と置換
コマンド grep "foo" myfile.txt ファイル内の一致するすべての行を出力します。 次に、行全体を別の文字列に置き換えます。どうやってやるの?

7
netcat出力をgrepする方法
からライブテキストストリームをgrepしようとしていますnetcatが、うまくいきません。 netcat localhost 9090 | grep sender 何も返さないが、そうするべきだと私は確信している。 netcat出力をファイルにリダイレクトし、遅延を追加した場合(実際の環境をシミュレート)-機能します。 $ (sleep 5; cat netcat_output; sleep 5) | grep sender {"jsonrpc":"2.0","method":"GUI.OnScreensaverDeactivated","params":{"data": "shuttingdown":false},"sender":"xbmc"}} 追加も試みました--line-bufferedが、成功しませんでした。 私は何を間違っていますか? 編集: 同じ問題に気づきましたsed、出力が空です。 しかし、たとえば、hexdumpテキストを16進ライブに変換します。 $ netcat localhost 9090 | hexdump -C 00000000 7b 22 6a 73 6f 6e 72 70 63 22 3a 22 32 2e 30 22 …
13 grep  netcat 

3
100Gを超えるディスクサイズを検出するこのフィルターを短縮できますか?
私の目標は、lsblkから100Gを超えるディスクを取得することです。 私はそれを動作させていますが、それは厄介です。短縮できると確信しています。lsblkとはまったく異なるものを使用するか、awkを使用して人間が読み取れる数値を直接フィルター処理することができます。 ここに私がまとめたものがあります: lsblk | grep disk | awk '{print$1,$4}' | grep G | sed 's/.$//' | awk '{if($2>100)print$1}' 100Gより大きいディスクのsdxおよびnvmexxx部分のみを出力します。まさに私が必要なもの。 私はそれで満足していますが、あなたからもっと学びたいと思っています。
12 awk  grep  disk  lsblk 

1
grepを使用しているときに画面上に奇妙な記号がありますか?
何がこれを引き起こしているのでしょうか?grepを使用しない場合、表示されるのはISOコードと空のスペースのみです。 使用したソフトウェア コマンド: ./trans --id --input /path/to/txt | grep ISO | grep [a-z] root@box /test # alias grep alias grep='grep --color=auto' root@box /test # type grep grep is aliased to `grep --color=auto' 通常の出力:

1
なぜ1250の文字列と90kのパターンの照合が非常に遅いのですか
私の文字列は、次のようなファイルパスですs/14/11/13/15/n7ce49B_235_25ed2d70.jpg。私のパターンは非常に単純なもので、すべてが好きn7ce49B_.+です。 私はDebian 6.0.10のGNU grep 2.6.3下でDell DL360G7サーバー上で実行しています(このマシンのパフォーマンスの感覚を伝えるために言及しています)、15k HDD、およびこのコマンド:ちょうど完了できません-サーバースワップがひどく悪いです。2万パターンの場合、3時間以上かかります。time LC_ALL=C grep -E -f path_to_patterns_file path_to_strings_file それは理不尽に思えます。 コメントリクエストごとに、ファイルがあります:ファイルパス 20kパターン また、入力行と入力パターンの数を次のようにテストおよび調整できます。 xxd -p /dev/urandom | fold -sw 100 | head -n 1250 | grep -Ef <(xxd -p /dev/urandom | fold -sw 10 | head -n 20000)
12 linux  grep 

2
grepを使用して行の最後のアイテムを見つける
特定のパターンのgrepを使用して、最後の単語またはフレーズを取得しようとしています。この例では、最後のコンマから行末までになります。 Blah,3,33,56,5,Foo 30,,,,,,,3,Great Value したがって、その行に必要な出力は「Great Value」になります。すべての行の長さも異なりますが、最後の単語の前には常に単一のコンマがあります。 基本的に、最後のコンマから行末までを単純に出力したいと思います。ありがとうございました!

2
この `grep -v`が期待どおりに機能しないのはなぜですか?
grep -vクエリに関連する奇妙な問題があります。説明させてください: 私が使用する接続を表示するにはwho: $ who harry pts/0 2016-12-08 20:41 (192.168.0.1) james pts/1 2016-12-08 19:28 (192.168.0.1) timothy pts/2 2016-12-08 02:44 (192.168.0.1) tty私の端末の電流はpts/0 $ tty /dev/pts/0 $ tty | cut -f3-4 -d'/' pts/0 を使用して自分の接続を除外しようとしましたgrep -v $(tty | cut -f3-4 -d'/')。このコマンドの期待される出力はwho、接続なしでになります。ただし、出力は最も予期しないものです。 $ who | grep -v $(tty | cut -f3-4 -d'/') grep: a: …
12 command-line  grep  tty 

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