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

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

2
テキストファイル内の単語の出現回数を数える
ツイートを含むテキストファイルがあり、ツイートで単語が言及された回数をカウントする必要があります。たとえば、ファイルには次のものが含まれます。 Apple iPhone X is going to worth a fortune The iPhone X is Apple's latest flagship iPhone. How will it pit against it's competitors? そして、ファイル内でiPhoneという単語が何回言及されているかを数えたいとします。だからここに私が試したものがあります。 cut -f 1 Tweet_Data | grep -i "iPhone" | wc -l 確かに機能しますが、私はunixの 'wc'コマンドについて混乱しています。私は次のようなものを試してみると違いは何ですか: cut -f 1 Tweet_Data | grep -c "iPhone" 代わりに-cが使用されますか?これらの両方は、ツイートでいっぱいの大きなファイルで異なる結果をもたらし、私はそれがどのように機能するかについて混乱しています。発生をカウントする正しい方法はどれですか?

3
awkとgrepを使用したcutの正確な違いは何ですか?[閉まっている]
次の2つの手法を使用して、ファイルから目的の行の2列目を取得できることを知っています。 awk '/WORD/ { print $2 }' filename または grep WORD filename| cut -f 2 -d ' ' 私の質問は: 上記の2つのコマンドの違いは何ですか? どれが最高のパフォーマンスを発揮しますか? を使用するawkよりも使用することの利点は何cutですか? どのオプションがawk私たちに与えてくれますcutか?
30 awk  grep  performance  cut 

3
色とりどりのグレップ
各grepコマンドで、結果を異なる色で強調表示しようとしています。私はこのような行で手動でそれを行うことができます: ls -l GREP_COLORS='mt=01;32' grep c | GREP_COLORS='mt=01;31' grep o | GREP_COLORS='mt=01;34' grep n | GREP_COLORS='mt=01;36' grep f すべてのc文字が緑で強調表示され、すべてのo文字が赤で強調表示されます。 この例が機能するためには、常に--color=alwaysgrepコマンドを使用する必要があり ます。私はこれを私の中で設定した.bashrc ので、grepは常に色を持っています: export GREP_OPTIONS='--color=always' 私が達成しようとしているのは、この機能をエイリアスでラップgrepして、GREP_COLORS毎回呼び出して異なる値を設定できるようにすることです。パイプされた新しいgrepごとに複数のシェルの考慮事項を理解し、いくつかのファイル(各色に1つ)を作成してこれを克服しようとして、既に使用されていることを示します。 私はいくつかの試みをしましたが、奇妙なことに、これは「最高」に機能するようです。私はこれを持っています.bashrc: alias mg="mygrep" mygrep(){ # define possible colors COLORS=("01;32" "01;31" "01;34" "01;36") COUNTER=0 NUM=0 # as long as the color has already been used, keep …
30 bash  shell  grep  pipe  bashrc 

7
テキストに特定の単語を含むファイルを一覧表示する
特定の単語を含むファイルを再帰的かつ一意にリストしたいと思います。 例:単語 'check'を確認する、私は通常grepです $ grep check * -R しかし、この言葉の多くの出現があるので、私は多くの出力を得ます。そのため、指定された検索語を含むファイル名をリストするだけです。私はここでいくつかのトリックを推測しfind、xargsここで十分でしょうが、確かではありません。 何か案は?
30 find  grep  file-search 


5
一致しない場合にgrepが終了しないようにする
このスクリプトは「後」をエコーし​​ません。 #!/bin/bash -e echo "before" echo "anything" | grep e # it would if I searched for 'y' instead echo "after" exit また-e、shebang行のオプションを削除した場合も同様ですが、エラーが発生した場合にスクリプトが停止するように、それを保持したいです。grepが一致しないことをエラーと見なすことはありません。突然終了するのを防ぐにはどうすればよいですか?

6
シェル内の複数のファイルへのパイプ
ディスクに保存したくない大量のデータを生成するアプリケーションがあります。アプリケーションは主に、使用したくないデータを出力しますが、個別のファイルに分割する必要がある有用な情報のセットを出力します。たとえば、次の出力がある場合: JUNK JUNK JUNK JUNK A 1 JUNK B 5 C 1 JUNK 次のようにアプリケーションを3回実行できます。 ./app | grep A > A.out ./app | grep B > B.out ./app | grep C > C.out これは私が欲しいものを手に入れるだろうが、時間がかかりすぎるだろう。また、すべての出力を単一のファイルにダンプし、それを解析したくありません。 上記の3つの操作を組み合わせて、アプリケーションを1回実行するだけで3つの個別の出力ファイルを取得する方法はありますか?
29 bash  shell  grep  pipe 

12
ファイルを「cat」してコメント行を削除するにはどうすればよいですか?
のようにcatファイルを作成php.iniし、すべての行を削除する方法があるかどうかを知りたい; たとえば、ファイルに次が含まれている場合: ; - Show all errors, except for notices ; ;error_reporting = E_ALL & ~E_NOTICE ; ; - Show only errors ; ;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; ; - Show all errors except for notices ; error_reporting = E_ALL & ~E_NOTICE そして、私は正しいコマンドを実行しました、そして私は次のようになりますcat | {remove comments command}: error_reporting = E_ALL & …

6
すべての改行の前に改行を追加する方法は?
改行のみに使用するファイルがありますが、改行ごと\nに必要\r\nです。これどうやってするの? たとえば、Vimでを使用して解決しました:%s/\n/\r\n/gが、スクリプトまたはコマンドラインアプリケーションを使用したいと思います。助言がありますか? sedまたはgrepで調べてみましたが、エスケープシーケンスの回避策にすぐに混乱しました(これらのコマンドは少し緑です)。 興味がある場合、アプリケーションは私の質問/回答に関連しています
28 sed  grep  newlines 

8
grepとtail -f?
tail -fファイルに対して(または同様の)処理を行うことはできますgrepか?他のコマンドがそのような動作を探しているだけでもかまいません。

8
指定された拡張子を持つファイルを除くディレクトリ内のすべてのファイルをリストするにはどうすればよいですか?
.txt、.pdf、およびその他のファイルを含むフォルダーがあると仮定します。「その他」のファイル(拡張子が.txtまたは.pdfでないファイル)をリストしたいと思います。これを行う方法について何かアドバイスはありますか? 特定の拡張子を持たないファイルを一覧表示する方法を知っています。たとえば、.txtファイルを除くすべてのファイルを一覧表示する場合は、 find -not -iname "*.txt" または ls | grep -v '\.txt$' | column 動作するようです。しかし、どうすれば.txtファイルまたは .pdfファイルを除くすべてをリストできますか?私がいくつかの論理の並べ替え「または」で使用する必要があると思われるfindかをgrep。
28 grep  find  ls 

4
特定の範囲の行の長さを「grep」する方法は?
注:この質問は、このQ&Aを補完するものです。特定の範囲ではなく、行の長さを「grep」するにはどうすればよいですか? テキストファイル(改行で区切られたワードリスト)から行を取得する必要があるのは、長さが3文字以上で10文字以下の範囲です。 例: 入力: egyezményét megkíván ki alma kevesen meghatározó 出力: megkíván alma kevesen 質問:どうすればこれを行うことができbashますか?
28 bash  sed  grep  perl 

4
`grep`で16進コードを使用して文字を指定する方法は?
この質問は、UnixおよびLinux Stack Exchangeで回答できるため、Stack Overflowから移行されました。 8年前に移行され ました。 次のコマンドを使用して、16進コード0900(अの代わり)から097F(वの代わり)の文字セット範囲をgrepします。अとofの代わりに16進コードを使用するにはどうすればよいですか? bzcat archive.bz2 | grep -v '<[अ-व]*\s' | tr '[:punct:][:blank:][:digit:]' '\n' | uniq | grep -o '^[अ-व]*$' | sort -f | uniq -c | sort -nr | head -50000 | awk '{print "<w f=\""$1"\">"$2"</w>"}' > hindi.xml 次の出力が得られます。 <w f="399651">और</w> <w f="264423">एक</w> <w f="213707">पर</w> <w …

8
grep-inverse-matchと「前」と「後」の行を除外する方法
次のエントリを含むテキストファイルを考えます。 aaa bbb ccc ddd eee fff ggg hhh iii パターン(例fff)が与えられた場合、上記のファイルをgrepして出力を取得したいと思います。 all_lines except (pattern_matching_lines U (B lines_before) U (A lines_after)) たとえば、B = 2およびの場合、A = 1パターン=の出力fffは次のようになります。 aaa bbb ccc hhh iii grepまたは他のコマンドラインツールでこれを行うにはどうすればよいですか? 注意してください、私がしようとするとき: grep -v 'fff' -A1 -B2 file.txt 欲しいものが得られません。私は代わりに以下を取得します: aaa bbb ccc ddd eee fff -- -- fff ggg hhh …

4
ファイルに文字列が含まれていない場合にgrepを使用する方法
私のbashスクリプトでは、ファイルに特定の文字列が存在しない場合に行を印刷しようとしています。 if grep -q "$user2" /etc/passwd; then echo "User does exist!!" これは、ファイルに文字列が存在するようにしたいのですが、/ etc / passwdファイルにユーザーが見つからない場合に「ユーザーが存在しない」と表示するように変更するにはどうすればいいですか?
26 bash  ubuntu  grep 

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