2011-04-01 6 views
0

私はWindowsのパス区切りをハードコードしているコードをいくつか持っています。パス区切り文字のgrep

blah + '\\' + blah 

私は明らかに失敗している

grep -FR "\\\\" *.py 
grep -ER "^(.+?)\\\\" *.py 

でそれらを見つけるためにしようとしてきました。表現は何をすべきか?

答えて

1

のgrep -FRを使用し、\\を使用して、\\取得するには、そう\を取得するには、エスケープ文字は '\\' *の.py

私の環境で仕事をする(テスト)

-Fは、固定された文字列を示しており、唯一の2スラッシュは、ファイル内の2つのスラッシュを一致させるために必要とされています。

こちらがお役に立てば幸いです。私はgrepの-FRを '\\' を実行するとき*、私はPY〜..しかし、grepを含めたすべての結果を得る:

+0

@shelterをスラッシュ

grep '\\\\' *.py 

を試してみてください-FR '\\' * .pyは何も与えません! – Tathagata

+0

@Tathagata:すべてのファイルの名前がpy〜で終わる場合、 'grep -FR '\\' * .py〜'のようにファイルのターゲットとして指定する必要があります。 \\ '* .py * '....またはあなたのコメントを理解していませんか?がんばろう。 – shellter

+0

@shelter:もちろん '* .py *' ...末尾の* – Tathagata

0

あなたは2を取得したい場合は