2016-06-25 4 views
0
を逃れるために

こんにちは私だ私は、次のような問題grepは特殊文字

1>を直面していたスクリプトをシェルに新しいどのようにiが大きいファイルの中の単語や 'またはその両方」との言葉を見つけるためにgrepを行う

私は、テキストから成る一つのファイルを取り、そのテキストが存在し01である別のファイルの全体の行を印刷する>

2動作しない

grep "'\|"" foo.txt 

を試し例

ファイル1は

abc 
def 
lmo 

ファイル2は

amn,abc 
abc,amd 
fgh,def 
abd,lmo 

マッチファイル2のファイル1と2列目のテキストが含まれていると、ファイルの行全体を印刷含まれている2

desired output 
amn,abc 
fgh,def 
abd,lmo 
+1

ように、第2の問題は、非常に簡単に 'awk'を用いて解くことができます。このような問題を解決する答えはすでにたくさんあります。それらを試してみてください。あなたが何かを試して、彼らに困難を見つけるなら、あなたはより良い反応を得るでしょう。 – nu11p01n73R

答えて

1

文字クラスを使用して、"またはと一致させることができますは

grep "['\"]" 

$ echo hello\" | grep "['\"]" 
hello" 
+0

これは文字クラスではなく、文字リストを含むブラケット式です。文字クラスはロケールに依存しない名前付きの識別子です(例えばロケールで定義されているアルファベットの文字セットの '[:alnum:]'など)ブラケット式内の他の文字クラスや文字範囲(例えば '3-7')や文字リスト(例えば'&_# ')と組み合わされることがあります(例:' [[:alnum :] [:space:] 3-7&_#] ')。 –