0

grepファイルから2 行のパターンを試してhtml、 を使用して印刷しcatます。行は次のとおりです。

<link type="text/css" rel="stylesheet" href="https://test.mydomain.com/store.css">

<script type="text/javascript" language="javascript" src="https://test.mydomain.com/store/gwt.nocache.js">

コマンドを使用してそれらを別々に使用する場合grep。お気に入り

if grep -F -i -n '<link type="text/css" rel="stylesheet" href="https://test.mydomain.com/store.css">' tmp.html > out.txt; then cat out.txt # IT WORKS.

しかし、私はgrep両方のパターンが必要です。で試しましたegrep。なので

egrep '(pattern1|pattern2)' 

なので

if egrep -e -i -c '(\<link type\=\"text\/css\" rel\=\"stylesheet\" href\=\"https\:\//test\.mydomain\.com\/gwtstore\/store\.css\"\>|\<link type\=\"text\/css\" rel\=\"stylesheet\" href\=\"https\:\//test\.mydomain\.com\/store\/gwt\.nocache\.js\"\>)' tmp.html > out.txt; then cat out.txt 

しかし、上記の構文はうまくいきません..助けてください。コマンドを使用して別のパターンに置き換えて終了すると、ファイル内の 2 つのセットの html コードを検索しようとしますsed

4

3 に答える 3

0

egrepを使用すると、これらの括弧は必要ありません。一重引用符で囲まれたパターンを区切るパイプだけです。

egrep -n 'pattern1|pattern2'

正常に動作するはずです。

于 2012-04-20T17:03:47.717 に答える
0

sedを使用する場合は、次のものを使用することをお勧めします。2つの別々のコマンドは必要ないかもしれません。sedを使用すると、2つのパターンが存在するかどうかを確認でき、存在する場合は、両方を1つのコマンドに置き換えます。

注:以下にはインライン編集が含まれています。テストの前にファイルをバックアップしてください

sed -i 's/<link type="text\/css" rel="stylesheet" href="https:\/\/test.mydomain.com\/store.css">/<REPLACE PATTERN 1>/g;s/<script type="text\/javascript" language="javascript" src="https:\/\/test.mydomain.com\/store\/gwt.nocache.js">/<REPLACE PATTERN 2>/g' /yourfile

OS Xユーザーの場合は、次のことを試すことができます

注:以下にはインライン編集が含まれています。テストの前にファイルをバックアップしてください

sed -i '' 's/<link type="text\/css" rel="stylesheet" href="https:\/\/test.mydomain.com\/store.css">/<REPLACE PATTERN 1>/g;s/<script type="text\/javascript" language="javascript" src="https:\/\/test.mydomain.com\/store\/gwt.nocache.js">/<REPLACE PATTERN 2>/g' /yourfile

使用する場合は、REPLACEPATTERNの「/」文字をエスケープすることを忘れないでください。

また、awkを試してみることもできます。この場合、grepのように機能します。

awk '/<link type="text\/css" rel="stylesheet" href="https:\/\/test.mydomain.com\/store.css">/; /<script type="text\/javascript" language="javascript" src="https:\/\/test.mydomain.com\/store\/gwt.nocache.js">/' /yourfile
于 2012-04-20T13:09:00.797 に答える
0

このように -e オプションを指定して fgrep を使用します

fgrep -e 'firts_pattern' -e 'second_pattern'
于 2012-04-20T13:03:10.147 に答える