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

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

2
区切り文字の前にn文字がないすべての行を削除します
私は非常に長いテキストファイル(ここから)を作成し、6つの16進文字と「改行」(1つの文字として表示され、以下のコードマークダウンに適切に表示されないようです)とそれに続くいくつかの単語を含める必要があります。 00107B Cisco Systems, Inc 00906D Cisco Systems, Inc 0090BF Cisco Systems, Inc 5080 Cisco Systems, Inc 0E+00 ASUSTek COMPUTER INC. 000C6E ASUSTek COMPUTER INC. 001BFC ASUSTek COMPUTER INC. 001E8C ASUSTek COMPUTER INC. 0015F2 ASUSTek COMPUTER INC. 2354 ASUSTek COMPUTER INC. 001FC6 ASUSTek COMPUTER INC. 60182E ShenZhen Protruly Electronic Ltd …

4
grepコマンドで文字列検索をifステートメントに入れる方法は?
2つのファイルで複数の文字列を検索したい。両方のファイルで1つの文字列が見つかった場合は、何かを作成します。1つの文字列が1つのファイルだけで見つかった場合は、別の文字列を作成します。 私のコマンドは次のとおりです: ####This is for the affirmative sentence in both files if grep -qw "$users" "$file1" && grep -qw "$users" "$file2"; then ####This is for the affirmative sentence in only one file, and negative for the other one if grep -qw "$users" "$file1" ! grep -qw "$users" "$file2"; then それは声明を否定し、肯定する正しい方法ですか?pd …

3
grepを使用して、両方ではなく2つの単語のいずれかを含む行を検索する方法
テキストファイルで 'word1' XOR 'word2'の行を検索したい。したがって、word1、word2の行は出力されますが、これらの両方の単語の行は出力されません。XORを使用したかったのですが、LinuxコマンドラインでXORを記述する方法がわかりません。 私は試した: grep 'word1\|word2' text.txt grep word1 word2 text.txt grep word1 text.txt | grep word2 grep 'word1\^word2' text.txt その他多数ありますが、成功することはできませんでした。



3
ファイル内の数百の文字列に対してディレクトリ内の数千のファイルをgrepする方法
私はgrep声明を作成しようとしています、そしてそれは私を殺しています。arguments list too longエラーが出てもううんざりです。ファイルがありますsubset.txt。それを呼び出しましょう。これには、などの特定の文字列を含む数百行が含まれていMO43312948ます。私のオブジェクトディレクトリには何千ものファイルがあり、に記載されsubset.txtている文字列を含むすべてのファイルを別のディレクトリにコピーする必要があります。 私はこれから始めて、一致するファイルをオブジェクトディレクトリから返すだけにしました。 grep -F "$(subset.txt)" /objects/* 「bash:/ bin / grep:引数リストが長すぎる」というメッセージが表示され続ける
11 grep 

3
grepを使用して文字列に入力が見つかりません
私はその行で入力を見つけたい場所でコンマで区切られた文字列を持っています: echo US | grep "US,CA,CH,JP" 出力は空です!その文字列で自分の入力を見つけるには、grepをどのように使用すればよいですか?
11 grep 

3
bashエイリアスを拡張する方法
Bashで同じ名前の別のエイリアスを実際に拡張するエイリアスを作成する方法は? なぜ: 私は以前は次のようなことにGREP_OPTIONS着手し.bashrcていました: GREP_OPTIONS="-I --exclude=\*~" またsetup-java.sh、いくつかのJavaプロジェクトに取り組む前に呼び出すスクリプト(私たちに言っておきます)も用意しました。次の行が含まれます。 GREP_OPTIONS="$GREP_OPTIONS --exclude-dir=classes" Sassも使用する場合setup-sass.shは、次の行を含むを呼び出します。 GREP_OPTIONS="$GREP_OPTIONS --exclude-dir=\*/.sass-cache" しかし、GREP_OPTIONS廃止予定であり、どうやら標準的な解決策はエイリアスまたはスクリプトを作成することです...
11 bash  grep  alias 

2
grep(1p)マンページを開く方法は?
の終わりにman grep、それは言う SEE ALSO\ POSIX Programmer's Manual Page grep(1p). マンページを開くことができませんgrep(1p)。それ、どうやったら出来るの?ネット、Unix.SEを検索し、試行錯誤しましたが、まだ運がありませんでした。 試しました $ man 1p grep $ man -K grep 編集: 私はUbuntu 14.10を使用しています
11 grep  man  posix 


2
改行を無視してファイル内のテキストを検索する方法は?
ファイル内の複数行に分割されている可能性のあるテキストを検索したいのですが。改行を無視し、一致する行のスパンを返すgrep。 例えば、私はを検索していてis an example file、それが次のファイルにあることを期待しています: これは、 サンプルファイル。 先頭または末尾のスペースに依存しないようにするには、すべての形式の空白を完全に無視するのが最適です(理想的には、一連の空白を単一のスペースとして扱う)。 非理想的な解決策の1つはtr '\n' ' ' | grep、一致と非一致を区別しますが、一致を表示せず、大きなファイルを適切に処理しません。

3
grepを使用して、パターンを照合し、別のパターンを反転照合するにはどうすればよいですか?
を使用してgrep、パターンに一致し、別のパターンに一致しないすべての行を選択します。私は、単一の呼び出しを使用することができるようにしたいgrep、私が使用できるように、--after-contextオプション(または--before-context、あるいは--context)を。 -vオプションをgrep使用して渡すすべてのパターンが無効になるため、ここでは実行できません-e。 例 一致needleする行を無視してignore me、次のコンテキストの1行で一致する行を探します。 これが私の入力ファイルです: one needle ignore me two three four needle five 私が欲しい出力は: four needle five ご覧のとおり、この単純な解決策は機能しません。 $ cat file | grep --after-context=1 needle | grep -v 'ignore me' two --- four needle five
11 grep 


4
.gitignoreにないファイルを検索する
プロジェクト内のファイルを表示するfindコマンドがあります。 find . -type f -not -path './node_modules*' -a -not -path '*.git*' \ -a -not -path './coverage*' -a -not -path './bower_components*' \ -a -not -name '*~' .gitignoreにあるファイルを表示しないようにファイルをフィルタリングするにはどうすればよいですか? 私は私が使うと思った: while read file; do grep $file .gitignore > /dev/null && echo $file; done しかし、.gitignoreファイルはグロブパターンを持つことができます(ファイルが.gitignoreにある場合、パスでも機能しません)。グロブを持つ可能性のあるパターンに基づいてファイルをフィルタリングするにはどうすればよいですか?
11 grep  find  wildcards  git 

5
grep一致しないファイルの表示を抑制する方法は?
を使用して特定の単語を含むファイルを検索しようとしていますgrep。ディレクトリに多くのファイルがあります(> 500) 実行するコマンド $ grep 'delete' * 出力 validate_data_stage1:0 validate_data_stage2:0 validate_data_stage3:0 validate_data_stage4:0 validate_data_stage5:0 validate_input_stage1:0 validate_input_stage2:0 validate_input_stage3:0 validate_input_stage4:0 .... and hundred of such lines これらは、指定された一致を含まないファイルです。それらの行がstdoutに表示されないようにしたい。私は-qスイッチを知っていますが、それは完全な出力を抑制します。 それ、どうやったら出来るの?

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