grepの-v、-e、-E
今日、我々は、使用しよう- 良い感じの一部除外することができVを 学習を強化する必要性を。 HTTPS:// www.jianshu.com/p/4ec50fdaf388
アウトライン
どのように使用するか、そして、オペレータは、Linux grepコマンドではないには?
実際には、grepコマンド、そこにオプションまたは同等のない事業者がありますが、grepすると、この演算子ませんでした。しかし、その後、あなたはシミュレートし、操作するためにパターンを使用することができます。以下はない、Linuxのgrepコマンドで、使用するか、とする方法を説明するためにいくつかの例を与えるだろう。
次のように次の例では、我々は、このemployee.txtファイルを使用します。
$ cat employee.txt
100 Thomas Manager Sales $5,000 200 Jason Developer Technology $5,500 300 Raj Sysadmin Technology $7,000 400 Nisha Manager Marketing $9,500 500 Randy Manager Sales $6,000
グレップまたはオペレータ
以下の4つの方法は、grepのOR演算を実現することができます。方法3個人的な勧告。
- | \使用します
達成するためのOR演算には、複数のパターンを分離するために|「」あなたはオプションのいずれかのgrepコマンドを使用しない場合は、使用することができます。
grep 'pattern1\|pattern2' filename
例としては、次のとおりです:
$ grep 'Tech\|Sales' employee.txt
100 Thomas Manager Sales $5,000 200 Jason Developer Technology $5,500 300 Raj Sysadmin Technology $7,000 500 Randy Manager Sales $6,000
- オプションを使用します-E
grepの-Eオプションは、正規表現のオプションを拡張するために使用することができます。OR演算を実現するために、複数のパターンを分割する| grepコマンドオプション-E場合は、使用する必要があります。
grep -E 'pattern1|pattern2' filename
例としては、次のとおりです:
$ grep -E 'Tech|Sales' employee.txt
100 Thomas Manager Sales $5,000 200 Jason Developer Technology $5,500 300 Raj Sysadmin Technology $7,000 500 Randy Manager Sales $6,000
- egrepを使用します
egrepのコマンドは、「グレップの-E」に相当します。このように、分割のパターン複数に応じてOR演算を実現するために、(オプションなし)のegrepコマンドを使用。
egrep 'pattern1|pattern2' filename
例としては、次のとおりです:
$ egrep 'Tech|Sales' employee.txt
100 Thomas Manager Sales $5,000 200 Jason Developer Technology $5,500 300 Raj Sysadmin Technology $7,000 500 Randy Manager Sales $6,000
- -eオプションを使用します
グレップの-eオプションを使用し、唯一のパラメータを渡します。OR演算を実現するために、複数のパターンを得るために、複数の-eオプションを使用して、単一のコマンド。
grep -e pattern1 -e pattern2 filename
例としては、次のとおりです:
$ grep -e Tech -e Sales employee.txt 100 Thomas Manager Sales $5,000 200 Jason Developer Technology $5,500 300 Raj Sysadmin Technology $7,000 500 Randy Manager Sales $6,000
grepの操作
- -E 'PATTERN1を。*パターン2' を使用します
grepコマンド自体は、AND関数を提供していません。しかし、AND演算を実現するために-Eオプションを使用して。
grep -E 'pattern1.*pattern2' filename
grep -E 'pattern1.*pattern2|pattern2.*pattern1' filename
以下の通り:(最初の例は、2つの配列パターンが指定されています)
$ grep -E 'Dev.*Tech' employee.txt
200 Jason Developer Technology $5,500
第二の例:(シーケンシャルパターンが固定されていない2つのスクランブルされてもよいです)
$ grep -E 'Manager.*Sales|Sales.*Manager' employee.txt
- 複数のgrepコマンドの使用
grepコマンドを達成するためと意味で、パイプ記号で区切って、複数使用することができます。
grep -E 'pattern1' filename | grep -E 'pattern2'
例としては、次のとおりです:
$ grep Manager employee.txt | grep Sales
100 Thomas Manager Sales $5,000
500 Randy Manager Sales $6,000
grepが動作していません
- grepの-vオプションを使用します
使用grepの動作が実現できるわけではありません-v。-vオプションは、抗選挙マッチ(反転試合)を実装するために使用されます。指定されたパターンを除くすべての行で一致させることができるよう。
grep -v 'pattern1' filename
例としては、次のとおりです:
$ grep -v Sales employee.txt
200 Jason Developer Technology $5,500 300 Raj Sysadmin Technology $7,000 400 Nisha Manager Marketing $9,500
- これは、操作や他の操作は、より強力な組み合わせを実現するために、団結することはできません。
この例で得られたとして、 'Managerまたは開発者ではなく、営業の成績:
$ egrep 'Manager|Developer' employee.txt | grep -v Sales
200 Jason Developer Technology $5,500
400 Nisha Manager Marketing $9,500